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を正しく追加する方法を教えてください。
Publish_postフックに関数を追加することで、ページが更新されているときに投稿が公開されたときに実行されます。それはヘッダーが既にメッセージを送信しているのは何のためです。
これはある種のチャットがデータベースに保存されるように見えます。これをサイトのフロントエンドで実行する必要がある場合は、wp_footerにフックすることができます。
add_action('wp_footer', 'node_wp' );
あなたのnode_wp関数では、あなたはIDを取得することができます。
global $post; $post_id = $post->ID;