Wordpress 获取返回错误类别的类别
我订阅了publish\u post WordPress钩子,以便在使用以下命令添加新帖子时发送推送通知Wordpress 获取返回错误类别的类别,wordpress,Wordpress,我订阅了publish\u post WordPress钩子,以便在使用以下命令添加新帖子时发送推送通知 add_action( 'publish_post' , 'onesignal_post_publish_new' , 10 , 2 ); function onesignal_post_publish_new( $ID , $post ) { if ( $post->post_date == $post->post_modified ) { echo "<pr
add_action( 'publish_post' , 'onesignal_post_publish_new' , 10 , 2 );
function onesignal_post_publish_new( $ID , $post )
{
if ( $post->post_date == $post->post_modified ) {
echo "<pre>";
$category = get_the_category($post->ID);
echo $category[0]->cat_name;
echo "</pre>";
// push notification code removed for brevity
}
}
我试图将类别名称包含在通知正文中,但是$category[0]->cat_name始终未分类。我已经验证了$post->ID和$ID的值是正确的,并且category设置为非未分类的值。不确定为什么会发生这种情况。默认情况下,帖子被归类为未分类。试着改变 echo$category[0]->类别名称 到 echo$类别[1]->类别名称 或至少var_dump$类别;确认里面都是什么 尽管考虑多个类别可能更好,例如
所以var_dump$类别;返回null,但是当我编辑文章时,选择了正确的类别。关于多个类别,我有一些代码可以将类别复选框转换为单选按钮,因此只能有一个类别。这些代码是如何实现的,只是管理中的一些javascript?理论上这应该是好的,但实际上这可能是问题的一部分。您是否可以添加var\u dump\u以获取\u类别;到single.php或类似文件,或者如果是single var\u dump,则获取\u类别;到functions.php查看是否返回了相应的类别?
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
}