我有一个网站,该网站显示在线商店为帖子,这些商店可以附加到多个品牌,这是一种自定义分类法。
有些商店有20个品牌,所以我想在商店文章中随机显示5个品牌。
我发现以下代码返回了5个随机品牌(Displaying random Taxonomy terms in Wordpress)
<?php
$max = 5; //number of categories to display
$taxonomy = 'brands';
$terms = get_terms($taxonomy, 'orderby=name&order= ASC&hide_empty=0');
// Random order
shuffle($terms);
// Get first $max items
$terms = array_slice($terms, 0, $max);
// Sort by name
usort($terms, function($a, $b){
return strcasecmp($a->name, $b->name);
});
// Echo random terms sorted alphabetically
if ($terms) {
foreach($terms as $term) {
echo '<a href="' .get_term_link( $term, $taxonomy ) . '" title="' .
sprintf( __( "View all posts in %s" ), $term->name ) . '" ' . '>' . $term-
>name.'</a> ';
}
}?>
但是,似乎所有帖子中都有5个随机品牌,而不是当前的一个。
任何想法如何使此功能仅适用于当前帖子所附的分类法(品牌)。
谢谢 理查德
答案 0 :(得分:0)
您的代码总是在说要获得分类法术语,但未指定应与当前职位ID相关。这行应该有帮助:
$taxonomies=get_taxonomies('','names');
wp_get_post_terms($post->ID, $taxonomies, array("fields" => "names"));
参考以下问答:https://wordpress.stackexchange.com/questions/162175/get-taxonomy-names-by-post-id