将Java脚本调用到钩子函数中的正确方法

时间:2012-07-09 作者:zugrina

function node_wp($post_ID) {
    global $post;
    $post_title = get_the_title( $post_ID );
    $post_url = get_permalink( $post_ID );
    $json = array(
        \'title_post\' => $post_title, 
        \'url\' => $post_url
    );
    $data = json_encode($json); 
    $server_url = get_option(\'$node_server_url_op\');
    ?>
    <script src="<?php echo $server_url; ?>"></script>
    <script type="text/javascript">
        var socket = io.connect(\'<?php echo $server_url; ?>\');
        socket.on(\'connect\', function(){
            socket.emit(\'adduser\');
            socket.emit(\'sendchat\', \'<?php echo $data; ?>\');
        });
    </script>
    <?php
}
add_action(\'publish_post\', \'node_wp\');
运行脚本时,我得到以下信息:

Warning: Cannot modify header information - headers already sent
你能告诉我如何正确添加Javascript吗?

1 个回复
SO网友:Chris_O

通过将函数添加到publish\\u post挂钩,当页面刷新时发布帖子时,它将执行该函数。这就是导致标头已发送消息的原因。

这看起来像是某种保存回数据库的聊天。如果需要在站点前端运行,可以挂接到wp\\u页脚:

add_action(\'wp_footer\', \'node_wp\' );

在node\\u wp函数中,可以使用

global $post; $post_id = $post->ID;

结束

相关推荐

Functions.php Problem

当我在函数顶部添加第3-19行时。php,然后尝试更新图像。phpI get the error \"Warning: Cannot modify header information - headers already sent\" when I try to update my image.php.第3-19行的代码为“我的图像库”创建自定义的下一个/上一个链接,并将最后一个链接重定向到“更多库”页面。我的代码可以在这里看到:http://pastebin.com/Yen04t2z