【发布时间】:2015-02-21 04:06:00
【问题描述】:
我目前正在使用 WP Job Board Manager 插件做一些工作,我想创建一个在发布新工作时触发的函数。
我做的第一件事是创建通用钩子来找出帖子类型是什么:
function newJobAdded() {
$posttype = get_post_type( $post );
mail('email@email.com','new job published',$posttype);
}
add_action( 'publish_post', 'newJobAdded' );
这给我发了一封电子邮件,告诉我帖子类型是:job_listing。 然后我创建了一个新函数,只有在自定义帖子类型为 job_listing
时才会触发function newJobAdded() {
$posttype = "job_listing";
if ($post->post_type == $posttype) {
mail('email@email.com','new job published','done new job publish');
}
}
add_action( 'publish_post', 'newJobAdded' );
但是,当我这样做时,什么也没有发生。我错过了一些简单和无聊的东西吗?
【问题讨论】:
-
Vidya LB 有最好的答案,因为您可以通过操作和类型来限制挂钩(发布职位发布 =>
'publish_job_posting')。我只是想说你的第二个钩子不起作用,因为你没有在你的函数中传递$post变量,这应该在add_action调用中完成。当您在第一个函数中调用get_post_type( $post );时,$post实际上为空。它之所以有效,是因为您已经在您正在寻找的帖子上。 -
@JasonRoman 使用
transition_post_status,您将获得更大的灵活性。在我的方法中,该函数仅在发布的新帖子以及帖子类型为选定类型时执行 -
我认为这没有必要 - 只要发布了新的 job_posting 或将其状态更改为发布,就会触发
publish_job_posting。
标签: php wordpress hook custom-post-type