web-dev-qa-db-fra.com

Afficher les x derniers messages de toutes les catégories dans le type de message personnalisé/la taxonomie

J'essaie d'afficher les derniers messages x de toutes les catégories à l'aide d'une taxonomie personnalisée appelée "études de cas" dans WordPress.

J'ai réussi à sortir tous les noms de catégories sous forme de liens d'en-tête. J'ai également sorti quelques articles de la taxonomie des articles standard qui sont dans les bonnes catégories, mais je ne parviens pas à afficher quoi que ce soit à partir de la taxonomie de mes études de cas. Lorsque j'ajoute 'post_type' => 'case-studies' à la requête $post_args, aucun résultat ne s'affiche.

if (have_posts()) :

    $tax = 'case-studies';

    $cat_args = array(
        'orderby' => 'name',
        'order' => 'ASC'
    );

    $categories = get_terms($tax, $cat_args);

    foreach($categories as $category) {

        echo '<p><a href="' . get_term_link( $category, $tax ) . '" title="' 
            . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' 
            . '>' . $category->name.'</a></p>';

        $post_args = array(
            'posts_per_page' => 10,
            'category_name' => $category->name
        );

        $posts = get_posts($post_args);

        foreach($posts as $post) { ?>
            <a href="<?php echo get_the_permalink(); ?>"><?php echo get_the_title(); ?></a><br/>
        <?php }

        echo '<p><a href="' . get_term_link( $category, $tax ) . '" title="' 
            . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' 
            . '>View all posts in ' . $category->name.'</a></p>';
    }

endif;
1
bigdaveygeorge

Les paramètres de catégorie ne fonctionnent pas avec les taxonomies personnalisées. Vous devez utiliser un tax_query à la place.

Dans votre code actuel, remplacez ( qui est également utilisé à tort, category_name prend le slug , pas name )

'category_name' => $category->name

avec

'post_type' => 'case-studies',
'tax_query' => array(
    array(
        'taxonomy' => $tax
        'terms' => $category->term_id,
        'include_children' => false
    )
),
0
Pieter Goosen

Ce code affiche toutes les publications de toutes les catégories de taxonomie d’emplacement pour le type de publication personnalisé testaismgallery .

 $args = array(
        'number'     => $number,
        'hide_empty' => $hide_empty,
        'include'    => $ids
    );

    $custom_categories = get_terms( 'location', $args );

    foreach ( $custom_categories as $catterm){

        $arg = Array( 
        'post_type' => 'testaismgallery',
        'posts_per_page' => '-1',
        'post_status' => 'publish',
        'tax_query' => Array( Array ( 
        'taxonomy' => 'location' ,
        'terms' => $catterm->term_id
        )) );


    $loop = new WP_Query( $arg ); 
    global $post;

    ?>    

    <?php    
    while ( $loop->have_posts() ) : $loop->the_post();
    ?>
      <div class="gallery-content">
    <div class="entry-content">


    <?php 
    $post_id = get_the_ID();
    $abc = get_post_meta($post_id, event_file, true);
     echo "<li><img src='".$abc. "' ></li> "; 

     ?>  

        </div>
    </div>
     <?php endwhile;

    }   

    ?>
0
KD DEVELOPER