Je viens juste de résoudre une question ici: Comment afficher les publications d'une seule catégorie dans une taxonomie personnalisée
Maintenant, je me demande comment prendre ce code:
<?php
$args = array(
'posts_per_page' => 1,
'post_type' => 'inventory',
'tax_query' => array(
array(
'taxonomy' => 'inventory-category',
'field' => 'slug',
'terms' => array(
'bulk-racks'
)
)
)
);
query_posts( $args ); while ( have_posts() ): the_post();
// do stuff here
?>
<?php endwhile; ?>
et appelez-le en utilisant des codes courts, par exemple pour afficher la catégorie des racks en vrac en utilisant ceci ou quelque chose de similaire [inventory-category = "en vrac"]
Je sais comment créer un shortcode de base, mais je ne sais pas comment écrire la fonction qui renverrait les publications en fonction de l'entrée du nom de la catégorie de shortcode.
Encore une fois, toute aide serait grandement appréciée.
Jetez un coup d'œil à catégorie post shortcode pour vous faire une idée. Voici le plug-in avec des modifications mineures permettant d'appeler votre type de message et votre taxonomie:
// Taxonomy category shortcode
function cat_func($atts) {
extract(shortcode_atts(array(
'class_name' => 'cat-post',
'totalposts' => '-1',
'category' => '',
'thumbnail' => 'false',
'excerpt' => 'true',
'orderby' => 'post_date'
), $atts));
$output = '<div class="'.$class_name.'">';
global $post;
$args = array(
'posts_per_page' => $totalposts,
'orderby' => $orderby,
'post_type' => 'inventory',
'tax_query' => array(
array(
'taxonomy' => 'inventory-category',
'field' => 'slug',
'terms' => array( $category)
)
));
$myposts = NEW WP_Query($args);
while($myposts->have_posts()) {
$myposts->the_post();
$output .= '<div class="cat-post-list">';
if($thumbnail == 'true') {
$output .= '<div class="cat-post-images">'.get_the_post_thumbnail($post->ID, 'thumbnail').'</div>';
}
$output .= '<div class="cat-content"><span class="cat-post-title"><a href="'.get_permalink().'">'.get_the_title().'</a></span>';
if ($excerpt == 'true') {
$output .= '<span class="cat-post-excerpt">'.get_the_excerpt().'</span>';
}
$output .= '</div>
<div class="cat-clear"></div>
</div>';
};
$output .= '</div>';
wp_reset_query();
return $output;
}
add_shortcode('inventory-category', 'cat_func');
usage :
il suffit de mettre ce shortcode dans votre post ou vos pages
[inventory-category totalposts="3" category="bulk-racks" thumbnail="true" excerpt="true" ]