正确的操作是\'draft_to_publish\'
.
为确保使用了正确的状态,请尝试获取所有已注册帖子状态(包括自定义状态)的列表,包括:
<pre><?php print \'- \' . implode( "\\n- ", array_keys( get_post_stati() ) );?></pre>
在普通安装中,您应该获得:
发布未来草案待决私有垃圾自动草案publish_post
每次编辑已发布的帖子时调用。
另请注意get_post_stati()
是WordPress中不可预测的名字之一:这是完全错误的。名词status的复数在英语中是status,在拉丁语中是statusD
你也可以\'transition_post_status\'
, 根据您的需要。将新状态和旧状态作为参数,第三个参数是post对象。它会抓住future_to_publish
同样,还有曾经被丢弃,现在重新发布的帖子(trash_to_publish
).
示例:
add_action( \'transition_post_status\', \'a_new_post\', 10, 3 );
function a_new_post( $new_status, $old_status, $post )
{
if ( \'publish\' !== $new_status or \'publish\' === $old_status )
return;
if ( \'post\' !== $post->post_type )
return; // restrict the filter to a specific post type
// do something awesome
}