发布新帖子时执行Java脚本

时间:2019-07-25 作者:ernie

我以为这很简单,但我做不到。我已经被困了五天了

我希望能够触发Javascript控制台。发布新帖子时的log()函数

function display_console_log() {
    echo "
        <script>
            console.log(\'New post published\')
        </script>
    ";
}
add_action(\'auto-draft_to_publish\', \'display_console_log\');
我不明白这个代码怎么了

提前感谢那些帮助我的人

1 个回复
最合适的回答,由SO网友:Pat J 整理而成

您的代码取决于处于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().)

相关推荐

由于出现javascript MIME类型错误,无法加载脚本

我正在尝试让jQuery砌体插件在站点上运行。我已经更新了模板文件,以获得插件需要的适当类。然后我将脚本按如下方式排队:function masonry_scripts() { wp_enqueue_script(\'masonry\'); wp_enqueue_script( \'masonry-script\', get_template_directory_uri() . \'/assets/js/masonry-script.js\', array(), false