你的代码就快到了。基本版本为:
function bj_test($new, $old) {
if (\'pending_to_publish\' == $old . \'_to_\' . $new) {
// run your code
}
}
add_action(\'transition_post_status\', \'bj_test\', 10, 2);
不过,这将适用于任何帖子类型,而且看起来您只需要一种类型。没有
pending_to_publish_{cpt}
hook(据我所知),但有一个
{$new_status}_{$post->post_type}
钩子,但它将在每次保存帖子时运行,而不仅仅是在转换更改时。也不完全正确。
但是
function run_cpt_action($a,$b) {
// run your code
var_dump($a,$b); die; // debugging only
}
function bj_test($new, $old) {
if (\'pending_to_publish\' == $old . \'_to_\' . $new) {
add_action(\'publish_book_type\',\'run_cpt_action\',1,2);
}
}
add_action(\'transition_post_status\', \'bj_test\', 10, 2);
。。。由于过滤器的启动顺序,您可以将两者结合起来,使其正常工作。