wp_set_comment_cookies()


WordPressのwp_set_comment_cookies()関数は、訪問者がコメントを投稿した際に、ブラウザにクッキーを設定するための関数です。

構文

wp_set_comment_cookies( WP_Comment $comment );
  • $comment (WP_Comment) — コメントオブジェクト。クッキーを設定するために使用されます。

例 1: コメント投稿後にクッキーを設定する

以下のコードはコメント投稿後にクッキーを設定します。

<?php
add_action( 'comment_post', function( $comment_id ) {
    $comment = get_comment( $comment_id );
    wp_set_comment_cookies( $comment );
} );
?>

例 2: カスタマイズされたフックを使用してクッキーを設定する

特定の条件でクッキーを設定する場合:

<?php
add_action( 'wp_insert_comment', function( $comment_id, $comment ) {
    if ( $comment->comment_approved ) {
        wp_set_comment_cookies( $comment );
    }
}, 10, 2 );
?>

例 3: コメントがスパムでない場合にのみクッキーを設定

スパム判定されていないコメントの場合:

<?php
add_action( 'comment_post', function( $comment_id ) {
    $comment = get_comment( $comment_id );
    if ( ! empty( $comment ) && ! wp_check_comment_for_spam( $comment ) ) {
        wp_set_comment_cookies( $comment );
    }
} );
?>

例 4: カスタムログイン後にクッキーを設定する

コメント投稿者がログインしている場合:

<?php
add_action( 'wp_login', function( $user_login, $user ) {
    $comment = get_user_last_comment( $user->ID );
    if ( $comment ) {
        wp_set_comment_cookies( $comment );
    }
}, 10, 2 );
?>

例 5: コメントページリロード後にクッキーを設定

コメントページがリロードされた際にクッキーを設定:

<?php
add_action( 'template_redirect', function() {
    if ( is_single() && isset( $_GET['comment_id'] ) ) {
        $comment_id = intval( $_GET['comment_id'] );
        $comment = get_comment( $comment_id );
        if ( $comment ) {
            wp_set_comment_cookies( $comment );
        }
    }
} );
?>

注意点

  • wp_set_comment_cookies()を適切に使用するには、WP_Commentオブジェクトを渡す必要があります。
  • この関数は、訪問者のプライバシーを考慮して使用してください。
  • GDPRやその他のデータ保護規制に準拠する必要があります。

関連機能: