发布时的随机分类法

时间:2018-12-27 05:57:28

标签: wordpress taxonomy

我有一个网站,该网站显示在线商店为帖子,这些商店可以附加到多个品牌,这是一种自定义分类法。

有些商店有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个随机品牌,而不是当前的一个。

任何想法如何使此功能仅适用于当前帖子所附的分类法(品牌)。

谢谢 理查德

1 个答案:

答案 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