do add_action on condition

时间:2012-05-29 作者:Nimbuz

例如,此片段将在每篇帖子上发送电子邮件:

function email_friends( $post_ID )  
{
   $friends = \'[email protected], [email protected]\';
   wp_mail( $friends, "sally\'s blog updated", \'I just put something on my blog: http://blog.example.com\' );

   return $post_ID;
}
add_action(\'publish_post\', \'email_friends\');
。。。然而,我只需要add\\u操作,只有在帖子属于类别时才能运行,比如说“未分类”,而不是任何其他类别。

谢谢

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

使用has_category() 检查帖子是否属于某个类别。

function email_friends( $post_ID )  
{
    if ( has_category( \'uncategorized\', $post_ID )
    {
        $friends = \'[email protected], [email protected]\';
        wp_mail( 
            $friends, 
            "sally\'s blog updated", 
            \'I just put something on my blog: \' . get_permalink( $post_ID )
        );
    }
}
add_action(\'publish_post\', \'email_friends\');
并且不需要为操作处理程序返回任何内容。

结束

相关推荐

Beta Versioning of Plugins

当我为一些bug编写修复程序时,我通常会增加版本并将其发送给bug查找程序,以查看我的修复程序是否有效。如果我有1.2.5 我想创建一个测试版,一旦我提交代码,它将变得多余,我应该使用1.2.5-beta 或1.2.6-beta? 我担心的是1.2.6 <;1.2.6-beta 因此,字符串比较可能有利于beta版,而bug查找程序不会收到发布稳定版本的通知。编辑:如果在不考虑发布类型的情况下对字符串进行绝对比较,则可以使用1.2.5-fix 然后1.2.6. 该问题也概述在http://en.wik