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!
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'
));