检查is_Single()外部循环

时间:2014-04-04 作者:Deniz C.

如何检查Idis_single() 插件中的外部循环?

当我尝试时,总是会遇到致命错误代码

 add_action(\'transition_post_status\', \'pmc_update_notification\',10,3);

function pmc_update_notification($new_status, $old_status, $post) {
 if ( $old_status == \'publish\' && $new_status == \'publish\' ) {
 $post_id = get_the_ID($post);
  if (is_single($post_id)){
 $post_title = get_the_title($post);
 $post_url = get_permalink($post);
 $message = __(\'Post updated\',\'pmc\').":\\n";
 $message .= $post_title . ": " . $post_url;

   // Send notification
   pmc_send($message);
     }
    }
   }

1 个回复
最合适的回答,由SO网友:Pat J 整理而成

在你的例子中,你不能。

根据法典,

[is_single()] 检查是否显示除附件和页面帖子类型以外的任何帖子类型的单个帖子。

你想把它用在transition_post_status 钩子,它与页面显示无关,等等is_single() 没有任何意义。

解决方案,而不是使用is_single(), 使用get_post_type():

if( \'post\' == get_post_type( $post ) ) {
    // code goes here
}

结束