我现在陷入了一种奇怪的境地。所以我有属于多个类别的wordpress帖子。e、 我的一篇文章分为两类。一个是“新闻”类别,另一个是“顶栏”。(我使用它将帖子分配到标题帖子区域,该区域从“顶栏”类别获取文章。
我面临的问题是,我只想在帖子栏上显示“新闻”类别名称。现在,它从列表中随机选择一个选定类别的名称并显示它。每次我刷新页面时,post块都会显示其中一个的名称。我只想看一个叫做“新闻”的主要节目。
现在如果您访问此链接http://thexpatt.com/news , 帖子类别标题将是新闻,其中一些显示了热门新闻。如果您一直刷新页面,则标题为“保持切换”。实际上,所有这些帖子都有顶级新闻类别和新闻类别。
我附上一张截图供您理解。I refreshed the page multiple times. Notice the difference in categories display name blocks over the posts.
我的主题随机调用所选类别之一。如果是,如何使其仅调用第一个类别,或者如何排除某些类别的选择。
EDITED
Code i found in post.php上面甚至写着兰登的身份证。我该怎么把它改成?
$postCategories = get_the_category($post->ID);
$slug = \'\';
foreach($postCategories as $catSlug) {
$slug.= $catSlug->slug." ";
}
$categories = wp_get_post_categories($post->ID);
if(!empty($categories)){
$catCount = count($categories);
**//select a random category id**
$id = rand(0,$catCount-1);
//cat id
$catId = $categories[$id];
} else {
$catId = false;
}
或者帮助检查是否选择了yoast主类别并打印该类别。Yoast类别包含代码是这样的。(如互联网上所示)。
$primary_cat_id=get_post_meta($product>id,\'_yoast_wpseo_primary_product_cat\',true);
if($primary_cat_id){
$product_cat = get_term($primary_cat_id, \'product_cat\'); if(isset($product_cat->name))
echo $product_cat->name; }
非常感谢。
最合适的回答,由SO网友:Ganich 整理而成
Orange These support answered my question. If anyone else is facing the similar situation the use this way to fix Solidus Theme Multiple Category Fix. Thanks
要为新闻块设置一个选定的类别,您需要在中找到
solidus-theme\\includes\\home-blocks files 像这样的线条:
$categories = get_the_category($my_query->post->ID);
$catCount = count($categories);
//select a random category id
$id = rand(0,$catCount-1);
//cat id
$catId = $categories[$id]->term_id;
并替换为以下线条
if(is_array($cat)) {
$categories = get_the_category($my_query->post->ID);
$catCount = count($categories);
//select a random category id
$id = rand(0,$catCount-1);
//cat id
$catId = $categories[$id]->term_id;
} else {
$catId = $cat;
}
如果主页块只有一个选定的类别,那么它将只显示一个类别,但是你将选择多个类别,然后它将像以前一样随机显示。但是,如果一篇文章有多个类别,并且你已经为块选择了一个类别,那么它只会显示一个类别。