PUBLISH_POST操作无效

时间:2012-05-12 作者:Dor Zuberi

我正在开发一个小插件,当一本新杂志出版时,它会向用户发送电子邮件。

我在主题功能上写了一个帖子类型名称“magazine”。php。我还为电子邮件订阅写了一个插件。

代码:

function newsletter_sendEmails($post_id)
{
    $post = get_post($post_id);

    if ($post->post_type == \'magazine\')
    {
        mail( "[email protected]", "מגזין חדש", "התפרסם מגזין חדש!" );
    }
}

add_action(\'publish_post\', \'newsletter_sendEmails\');
但由于某种原因,我在出版新杂志时没有收到电子邮件,这是为什么?

1 个回复
SO网友:Bainternet

因为你需要的钩子不是publish_post 但是publish_magazine 实际上{$new_status}_{$post_type} 钩所以试试看publish_magazine

update: 此外,您不需要使用get\\u post,因为钩子通过$post 对象作为第二个参数。看看wp_transition_post_status()

如果这不起作用,那么你就出了其他问题。

结束

相关推荐

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