-1, 'offset' => 0, 'orderby' => 'issue_order', 'order' => 'ASC', 'article_format' => empty( $article_format ) ? $aip_magazine_settings['article_format'] : $article_format, 'show_featured' => 1, 'issue' => get_active_aip_magazine_issue($parent), 'article_category' => 'all', 'use_category_order' => 'false', ); // Merge defaults with passed atts // Extract (make each array element its own PHP var extract( shortcode_atts( $defaults, $atts ) ); $args = array( 'posts_per_page' => $posts_per_page, 'offset' => $offset, 'post_type' => 'aip_article', 'orderby' => $orderby, 'order' => $order ); if ( !$show_featured ) { $args['meta_query'] = array( 'relation' => 'AND', array( 'key' => '_featured_rotator', 'compare' => 'NOT EXISTS' ), array( 'key' => '_featured_thumb', 'compare' => 'NOT EXISTS' ) ); } $aip_magazine_issue = array( 'taxonomy' => 'aip_magazine_issue', 'field' => 'slug', 'terms' => $issue ); $args['tax_query'] = array( $aip_magazine_issue ); if ( !empty( $aip_magazine_settings['use_wp_taxonomies'] ) ) $cat_type = 'category'; else $cat_type = 'aip_magazine_issue_categories'; if ('aip_magazine_issue_categories' === $cat_type ) $use_category_order = true; if ( 'true' == $use_category_order && 'aip_magazine_issue_categories' === $cat_type ) { $count = 0; $terms = array(); if ( 'all' === $article_category ) { $all_terms = get_terms( 'aip_magazine_issue_categories'); foreach( $all_terms as $term ) { $issue_cat_meta = get_option( 'aip_magazine_issue_categories_' . $term->term_id . '_meta' ); if ( !empty( $issue_cat_meta['category_order'] ) ) $terms[ $issue_cat_meta['category_order'] ] = $term->slug; } } else { foreach( split( ',', $article_category ) as $term_slug ) { $term = get_term_by( 'slug', $term_slug, 'aip_magazine_issue_categories' ); $issue_cat_meta = get_option( 'aip_magazine_issue_categories_' . $term->term_id . '_meta' ); if ( !empty( $issue_cat_meta['category_order'] ) ) $terms[ $issue_cat_meta['category_order'] ] = $term->slug; else $terms[ '-' . ++$count ] = $term->slug; } } if ($terms!=null) { ksort($terms); } if ( !empty( $terms ) ) { foreach( $terms as $term ) { $category = array( 'taxonomy' => $cat_type, 'field' => 'slug', 'terms' => $term, ); $args['tax_query'] = array( 'relation' => 'AND', $aip_magazine_issue, $category ); $articles = array_merge( $articles, get_posts( $args ) ); } } //And we want all articles not in a category $category = array( 'taxonomy' => $cat_type, 'field' => 'slug', 'terms' => $terms, 'operator' => 'NOT IN', ); $args['tax_query'] = array( 'relation' => 'AND', $aip_magazine_issue, $category ); $articles = array_merge( $articles, get_posts( $args ) ); //Now we need to get rid of duplicates (assuming an article is in more than one category if ( !empty( $articles ) ) { foreach( $articles as $article ) { $post__in[] = $article->ID; } $args['post__in'] = array_unique( $post__in ); $args['orderby'] = 'post__in'; unset( $args['tax_query'] ); $articles = get_posts( $args ); } } else { if ( !empty( $article_category ) && 'all' !== $article_category ) { $category = array( 'taxonomy' => $cat_type, 'field' => 'slug', 'terms' => split( ',', $article_category ), ); $args['tax_query'] = array( 'relation' => 'AND', $aip_magazine_issue, $category ); } $articles = get_posts( $args ); } $results .= '
'; if ( $articles ) : $old_post = $post; $term = get_term_by( 'slug', $issue, 'aip_magazine_issue' ); $meta_options = get_option( 'aip_magazine_issue_' . $term->term_id . '_meta' ); $results .='

'. $term->name .'

'; if ( !empty( $meta_options['pdf_version'] ) ) { $results .='
' .wp_get_attachment_image( $meta_options['cover_image'], 'issue-box-img' ). '' . __( 'Download PDF', 'aip_magazine' ) . '
'; }else { if(!empty($meta_options['cover_image'])) $results .='
'.wp_get_attachment_image( $meta_options['cover_image'], 'issue-box-img aip_magazine-cover-image' ).'
'; } $results .='
'; $prima_rubrica = true; $rubrica_in_corso = ''; foreach( $articles as $article ) { $post = $article; $all_terms = wp_get_object_terms($post->ID, 'aip_magazine_issue_categories'); if(!empty($all_terms)){ if ($rubrica_in_corso != $all_terms[0]->name ) { $rubrica_in_corso = $all_terms[0]->name; if (!empty($rubrica_in_corso)) { if (!$prima_rubrica){ $results .=''; }else{ $prima_rubrica = false; } $results .='
'; if ($rubrica_in_corso != 'No Categories') { $results .='

'.$rubrica_in_corso.'

'; } } } } $results .=''; $results .='
'; $results .='

'. $post->post_title.'

'; $results .=''; $results .='
'; } $results .='
'; if ( get_option( 'aip_magazine_api_error_received' ) ) $results .= '

' . __( 'Issue Management by ', 'aip_magazine' ) . 'AipMagazine

'; $post = $old_post; else : //carico comunque l'issue per verificare se è un PDF Archive e mostrare eventualmente copertina e PDF $issue = get_active_aip_magazine_issue(''); $term = get_term_by( 'slug', $issue, 'aip_magazine_issue' ); if ( !( $term == null ) ) { $meta_options = get_option( 'aip_magazine_issue_' . $term->term_id . '_meta' ); } if ( !empty( $meta_options['issue_status'] ) ) { if ($meta_options['issue_status'] === 'PDF Archive'){ $results .='

'. $term->name .'

'; if ( !empty( $meta_options['pdf_version'] ) ){ $results .= '

' . wp_get_attachment_image($meta_options['cover_image'] ) . '

Per scaricare il file PDF del fascicolo puoi cliccare sulla copertina qui di fianco

'; }else{ $results .= apply_filters( 'aip_magazine_no_articles_found_shortcode_message', '

' . __( 'No PDF related to the Issue', 'aip_magazine' ) . '

' ); } }else{ $results .= apply_filters( 'aip_magazine_no_articles_found_shortcode_message', '

' . __( 'No article found', 'aip_magazine' ) . '

' ); } } endif; $results .= '
'; wp_reset_postdata(); return $results; } add_shortcode( 'aip_magazine_articles', 'do_aip_magazine_articles' ); } if ( !function_exists( 'do_aip_magazine_title' ) ) { /** * Outputs Issue Title HTML from shortcode call * * @since 1.1.8 * * @param array $atts Arguments passed through shortcode * @return string HTML output of Issue Title */ function do_aip_magazine_title( $atts ) { $aip_magazine_settings = get_aip_magazine_settings(); $defaults = array( 'issue' => get_active_aip_magazine_issue(''), 'field' => 'slug' ); // Merge defaults with passed atts // Extract (make each array element its own PHP var extract( shortcode_atts( $defaults, $atts ) ); $term = get_term_by( $field, $issue, 'aip_magazine_issue' ); return '
' . $term->name . '
'; } add_shortcode( 'aip_magazine_issue_title', 'do_aip_magazine_title' ); } if ( !function_exists( 'do_aip_magazine_archives' ) ) { /** * Outputs Issue Archives HTML from shortcode call * * @since 1.0.0 * * @param array $atts Arguments passed through shortcode * @return string HTML output of Issue Archives */ function do_aip_magazine_archives( $atts ) { $aip_magazine_settings = get_aip_magazine_settings(); $defaults = array( 'journal_id' => $aip_magazine_settings['page_of_journals_articles_archives'], 'orderby' => 'issue_order', 'order' => 'DESC', 'limit' => 0, 'pdf_title' => $aip_magazine_settings['pdf_title'], 'default_image' => $aip_magazine_settings['default_issue_image'], 'args' => array( 'hide_empty' => 0 ), ); extract( shortcode_atts( $defaults, $atts ) ); if ( is_string( $args ) ) { $args = str_replace( '&', '&', $args ); $args = str_replace( '&', '&', $args ); } $args = apply_filters( 'do_aip_magazine_archives_get_terms_args', $args ); $aip_magazine_issues = get_terms( 'aip_magazine_issue', $args ); $archives = array(); $archives_no_issue_order = array(); if (empty($atts['journal_id'])){ $parent = $defaults['journal_id']; }else{ $parent = $atts['journal_id']; } foreach ( $aip_magazine_issues as $issue ) { if (!empty($parent) ){ if($parent == $issue->parent){ $issue_meta = get_option( 'aip_magazine_issue_' . $issue->term_id . '_meta' ); // If issue is not a Draft, add it to the archive array; if ( !empty( $issue_meta['issue_status'] ) && ( 'Draft' !== $issue_meta['issue_status'] || current_user_can( apply_filters( 'see_aip_magazine_draft_issues', 'manage_issues' ) ) ) ) { switch( $orderby ) { case "issue_order": if ( !empty( $issue_meta['issue_order'] ) ) $archives[ $issue_meta['issue_order'] ] = array( $issue, $issue_meta ); else $archives_no_issue_order[] = array( $issue, $issue_meta ); break; case "name": $archives[ $issue->name ] = array( $issue, $issue_meta ); break; case "term_id": $archives[ $issue->term_id ] = array( $issue, $issue_meta ); break; } } } } } if ( 'issue_order' == $orderby && !empty( $archives_no_issue_order ) ) $archives = array_merge( $archives_no_issue_order, $archives ); if ( "DESC" == $order ) krsort( $archives ); else ksort( $archives ); $archive_count = count( $archives ) - 1; //we want zero based $paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1; if ( !empty( $limit ) ) { $offset = ( $paged - 1 ) * $limit; $archives = array_slice( $archives, $offset, $limit ); } $results = '
'; $anno_incorso = 0; $primo_giro = true; $contAccordion = 1; foreach ( $archives as $archive => $issue_array ) { $issue_meta = get_option( 'aip_magazine_issue_' . $issue_array[0]->term_id . '_meta' ); $class = ''; if ( 'Draft' === $issue_meta['issue_status'] ) $class = 'aip_magazine_issue_draft'; if ('Draft' !== $issue_meta['issue_status']) { if (0 == $aip_magazine_settings['page_for_articles']) { $article_page = get_bloginfo('wpurl') . '/' . apply_filters('aip_magazine_page_for_articles', 'article/'); } else { $article_page = get_page_link($aip_magazine_settings['page_for_articles']); } $page_for_articles = $aip_magazine_settings['page_for_articles']; if ($page_for_articles == 0){ $issue_url = get_term_link($issue_array[0]->slug, $issue_array[0]->taxonomy); } else { $issue_url = get_page_link($aip_magazine_settings['page_for_articles']) . '?issue=' . $issue_array[0]->slug; } if ( !empty( $aip_magazine_settings['use_issue_tax_links'] ) || is_wp_error( $issue_url ) ) { $issue_url = add_query_arg( 'issue', $issue_array[0]->slug, $article_page ); } if ( !empty( $issue_array[1]['pdf_version'] ) || !empty( $issue_meta['external_pdf_link'] ) ) { $pdf_url = empty( $issue_meta['external_pdf_link'] ) ? apply_filters( 'aip_magazine_pdf_attachment_url', wp_get_attachment_url( $issue_array[1]['pdf_version'] ), $issue_array[1]['pdf_version'] ) : $issue_meta['external_pdf_link']; $pdf_line = ''; if ( 'PDF Archive' == $issue_array[1]['issue_status'] ) { $issue_url = $pdf_url; $pdf_line .= empty( $pdf_only_title ) ? $aip_magazine_settings['pdf_only_title'] : $pdf_only_title; } else { $pdf_line .= empty( $pdf_title ) ? $aip_magazine_settings['pdf_title'] : $pdf_title; } $pdf_line .= ' '; } else { $pdf_line = apply_filters( 'aip_magazine_pdf_version', ' ', $pdf_title, $issue_array[0] ); } if ( !empty( $issue_meta['external_link'] ) ) $issue_url = apply_filters( 'archive_issue_url_external_link', $issue_meta['external_link'], $issue_url ); if($anno_incorso != get_Year($issue_array[1]['issue_date'])){ $anno_incorso = get_Year($issue_array[1]['issue_date']); if (!$primo_giro){ $results .= '
'; $results .= '