1

訪問者がコメントを送信するときにカスタムCookieを設定しようとしていますが、これを機能させることができないようです。これがfunctions.phpにあるものです:

add_action('comment_post', 'ipro_set_comment_cookie');

function ipro_set_comment_cookie($comment) {
    setcookie("visitor_name", $comment->comment_author, time()+86400);
    setcookie("visitor_email", $comment->comment_author_email, time()+86400);
}

私もに変更しようとしcomment_postましたwp_insert_comment-どちらも機能していないようです。私はWPのアクションリファレンスを処理しています:http: //codex.wordpress.org/Plugin_API/Action_Reference#Comment.2C_Ping.2C_and_Trackback_Actions

...何か案は?

4

1 に答える 1

2

フィルタリファレンスのデータベース書き込みを確認してください

次のようなものを試してくださいcomment_save_pre

コメントデータを更新/編集する直前にコメントデータに適用されます。関数の引数:コメントデータ配列。インデックスは「comment_post_ID」、「comment_author」、「comment_author_email」、「comment_author_url」、「comment_content」、「comment_type」、「user_ID」です。

そうすれば、送信時に設定されます(つまり、エラー処理が開始された後に呼び出されます)

私があなたの質問を正しく理解していれば、これはうまくいくはずです:

add_action('comment_save_pre', 'ipro_set_comment_cookie');

function ipro_set_comment_cookie($comment) {
    setcookie("visitor_name", $comment->comment_author, time()+86400);
    setcookie("visitor_email", $comment->comment_author_email, time()+86400);
}
于 2012-09-11T01:00:19.670 に答える