我已成功设置了一个操作,该操作在自定义帖子类型从“挂起”状态移动到“发布”状态时执行。当您单独更改帖子状态时,一切都会按预期进行(按单个帖子编辑页面上的“发布”按钮)。
但是,当对自定义帖子类型使用概述页面上的批量操作时,项目成功地从挂起移动到发布,但下面的代码不会执行。
即使通过批量更新更改了状态,如何确保执行此代码?
function bang30_publish_pending_response( $new_status, $old_status, $post )
{
// Check if we are transitioning from pending to publish
if ( $old_status == \'pending\' && $new_status == \'publish\' ) {
// thank you email to the user.
$email = \'demo@example.com\';
$first_name = \'John\';
$last_name = \'Doe\';
$to = $first_name . \' \' . $last_name . \'<\' . $email . \'>\';
$subject = \'Thanks for your submission to CanLand!\';
$message = \'Your submission to canland.org has been published.
You can now view it online and share what you created with your friends:
\' . get_permalink($post);
wp_mail($to,$subject,$message);
}
}
add_action( \'transition_post_status\', \'bang30_publish_pending_response\', 10, 3 );
编辑:
nevermind-我的问题是如何正确使用$post对象。
二者都transition_post_status
和pending_to_publish
正在为这种姜黄状态工作。