我正在尝试让这个函数工作,但当把它放在一起时,它似乎不工作。当我刚刚
$new_status == \'publish\'
它有效,当我只使用第二个时,它也有效。当我尝试&;他们在一起似乎有点不对劲。
还应该注意的是,我只是尝试使用
add_action (\'publish_tweet\', \'twitter_run_when_published\');
但这也没用。
这是我尝试使用的完整函数,它来自一个codex示例
function intercept_all_status_changes( $new_status, $old_status, $post ) {
if ( $new_status == \'publish\' && $_POST[\'post_type\'] == \'tweet\' ) {
// Post status changed
twitter_run_when_published ();
}
}
add_action( \'transition_post_status\', \'intercept_all_status_changes\', 10, 3 );
twitter\\u run\\u when\\u发布作品。我知道这一点,因为就个人而言,if/条件是有效的。
一些怪癖:如果我立即发布,该功能将正常工作。当我安排未来的职位时,它不起作用。
其他可能有帮助的信息我在代码中尝试了这些,但它们不起作用。
add_action(\'publish_tweet\', \'twitter_run_when_published\');
//possible alts to make it happen only once and not double down
add_action(\'new_to_publish_tweet\', \'twitter_run_when_published\');
add_action(\'draft_to_publish_tweet\', \'twitter_run_when_published\');
add_action(\'pending_to_publish_tweet\', \'twitter_run_when_published\');
add_action(\'future_to_publish_tweet\', \'twitter_run_when_published\');
add_action(\'auto-draft_to_publish_tweet\', \'twitter_run_when_published\');
add_action(\'private_to_publish_tweet\', \'twitter_run_when_published\');
add_action(\'inherit_to_publish_tweet\', \'twitter_run_when_published\');
add_action(\'trash_to_publish_tweet\', \'twitter_run_when_published\');
只有发布才能立即执行上述功能。
经典的例子很有效。
function intercept_all_status_changes( $new_status, $old_status, $post ) {
if ( $new_status != $old_status) {
// Post status changed
twitter_run_when_published ();
}
}
add_action( \'transition_post_status\', \'intercept_all_status_changes\', 10, 3 );
但这会多次触发该功能。它在插件中不起作用,但在主题中肯定会起作用。
我错过了什么?我希望这样,当一篇文章发布时,它符合自定义的帖子类型tweet时,它会执行一个功能。
编辑:我有点胡言乱语,试图理清几个措词不当的句子。