web-dev-qa-db-fra.com

Afficher le post de la catégorie actuelle et le même tag?

j'essaie d'afficher le message de la catégorie actuelle et la même étiquette sur une seule page.

J'affiche l'article de la catégorie actuelle comme ci-dessous:

<div class="row">
    <?php
    global $post;
    $category = get_the_category($post->ID);
    $category = $category[0]->cat_ID;
    $myposts = get_posts(
                array(
                    'numberposts' => -1, 
                    'offset' => 0, 
                    'category__in' => array($category),
                    'post_status'=>'publish',
                    'order'=>'ASC' 
                    )
                );
    foreach($myposts as $post) :
        setup_postdata($post);  ?>
        <div class="col-md-3 animation-element bounce-up cf" <?php post_class(); ?> id="post-<?php the_ID(); ?>">
            <a class="test" href="<?php the_permalink(); ?>">
            <?php echo get_the_post_thumbnail( $post->ID, 'large' ); ?> </a>
                <p style="text-transform:uppercase;text-align:center;font-size:18px;margin-top:20px" class="title"><strong>
            <?php the_title(); ?> </strong> </p>
        </div>
    <?php endforeach; ?>
    <?php wp_reset_query(); ?>
</div>

mais comment afficher aussi à partir de la même balise que le post actuel?

Merci a lto!

1
thebigE

Les balises sont une taxonomie appelée post_tag . Vous pouvez les utiliser dans get_posts() VIA LE tax_query .

Puisque wp_get_post_tags() renvoie un tableau d'objets, vous devez le nettoyer un peu car un seul champ par objet est requis pour la requête.

$tag_objects = wp_get_post_tags($post->ID);
$tags = array();
foreach ($tag_objects as $tag_object) {
    $tags[] = $tag_object->term_id;
}
$myposts = get_posts(array(
    'numberposts' => -1,
    'offset' => 0,
    'category__in' => array($category),
    'tax_query' => array(
        array(
            'taxonomy' => 'post_tag',
            'field'    => 'term_id',
            'terms'    => $tags,
        ),
    ),
    'post_status'=>'publish',
    'order'=>'ASC'
));
1
kero