get_the_category返回错误的类别

时间:2018-02-21 18:51:11

标签: wordpress

我正在订阅publish_post WordPress挂钩,以便在使用以下内容添加新帖子时发送推送通知

("#id supprimer)

我正在尝试将类别名称包含在通知正文中,但$ category [0] - > cat_name始终为“未分类”。我已经验证了$ post-> ID和$ ID的值是否正确,并且类别设置为Uncategorized以外的其他值。不知道为什么会发生这种情况。

1 个答案:

答案 0 :(得分:1)

默认情况下,帖子归类为Uncategorized。尝试更改

echo $category[0]->cat_name;

echo $category[1]->cat_name;

或至少var_dump( $category );确认所有内容。

尽管考虑多个类别(例如

)可能会更好
if( $post->post_date == $post->post_modified ){
    echo "<pre>";
        // returns array of WP_Term objects, not just one category
        $cat_array = get_the_category( $post->ID );
        if( is_array( $cat_array ) ){
            foreach( $cat_array as $cat ){
                $post_cats .= $cat->cat_name.', ';
            }
        }
        echo substr( $post_cats, 0, -2 ); // Remove ', ' from last one.
    echo "</pre>";

    // push notification code removed for brevity
}