您的代码取决于处于auto-draft
在出版前立即声明,但不能保证。要获得更通用的选项,请尝试使用transition_post_status
挂钩:
function display_console_log( $new_status, $old_status, $post ) {
// Only runs if the post is transitioning from a not-published state
// to the `publish` state.
if ( \'publish\' !== $old_status && \'publish\' === $new_status ) {
echo "
<script>
console.log(\'New post published\')
</script>
";
}
}
add_action( \'transition_post_status\', \'display_console_log\', 10, 3 );
(另外,与此相关的是,它与WordPress直接注入JavaScript代码的方式不一致;我建议阅读如何以及为什么使用
wp_enqueue_script()
.)