繁体   English   中英

Wordpress - 类别页面中的多个类别

[英]Wordpress - Multiple categories in a category page

我的类别模板有问题。 我使用函数get_the_category()来获取页面的当前类别。

我拿第一个数组来选择帖子并在我的自定义菜单中显示当前类别。

它适用于我的所有类别,除了一个。 在这个类别中(与其他类别完全相同,没有特殊性), get_the_category()返回2个类别而不是1个,并且数组的第一个类别不是好类别。

我怎样才能解决这个问题 ?

编辑:这是get_the_category()函数的返回数组:

Array
(
    [0] => WP_Term Object
    (
        [term_id] => 152
        [name] => Press
        [slug] => press
        [term_group] => 0
        [term_taxonomy_id] => 152
        [taxonomy] => category
        [description] => Press
        [parent] => 0
        [count] => 46
        [filter] => raw
        [object_id] => 32182
        [cat_ID] => 152
        [category_count] => 46
        [category_description] => Press
        [cat_name] => Press
        [category_nicename] => press
        [category_parent] => 0
    )

[1] => WP_Term Object
    (
        [term_id] => 178
        [name] => The Fundation
        [slug] => the-fundation
        [term_group] => 0
        [term_taxonomy_id] => 178
        [taxonomy] => category
        [description] => 
        [parent] => 0
        [count] => 10
        [filter] => raw
        [object_id] => 32182
        [cat_ID] => 178
        [category_count] => 10
        [category_description] => 
        [cat_name] => The Fundation
        [category_nicename] => the-fundation
        [category_parent] => 0
    )

)

我得到了这个类别页面的基金

尝试这个。

$categories = get_the_category();
$category_id = $categories[0]->cat_ID;

要么

get_query_var('cat');

get_the_category()返回分配给当前帖子的WP_Term对象(类别)数组,它不返回当前类别。 如果您在类别页面上,则默认使用该类别中的第一个帖子。

要获得当前类别,最好在类别页面上调用get_queried_object()

$category = get_queried_object();

if ( $category instanceof WP_Term ) {
    $category_id = $category->term_id;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM