wp_new_comment()


WordPressのwp_new_comment()関数は、新しいコメントをデータベースに追加するために使用されます。この関数は、投稿やページに関連付けられたコメントのプログラムによる作成を可能にします。

シンタックス

wp_new_comment( array $commentdata );

引数の説明

  • $commentdata (array) — コメントに関する情報を含む連想配列。以下のキーが含まれます:
    • comment_post_ID (int) — コメントが関連付けられる投稿またはページのID。
    • comment_author (string) — コメントの投稿者の名前。
    • comment_author_email (string) — 投稿者のメールアドレス。
    • comment_author_url (string) — 投稿者のウェブサイトURL。
    • comment_content (string) — コメントの本文。
    • comment_type (string) — コメントのタイプ(通常は空)。
    • user_ID (int) — コメントを作成するユーザーのID。

例1: 基本的なコメントの追加

次の例は、特定の投稿に新しいコメントを追加します。

wp_new_comment( array(
    'comment_post_ID' => get_the_ID(),
    'comment_author' => '山田太郎',
    'comment_author_email' => 'yamada@example.com',
    'comment_author_url' => 'https://example.com',
    'comment_content' => '素晴らしい記事ですね!',
    'comment_type' => '',
    'user_ID' => 0
) );

例2: ユーザーIDを指定してコメントを追加

登録済みユーザーによるコメントの投稿。

wp_new_comment( array(
    'comment_post_ID' => get_the_ID(),
    'comment_author' => '登録ユーザー',
    'comment_author_email' => 'user@example.com',
    'comment_author_url' => '',
    'comment_content' => 'これはユーザーのコメントです。',
    'comment_type' => '',
    'user_ID' => get_current_user_id()
) );

例3: カスタム投稿タイプへのコメント追加

カスタム投稿タイプに関連付けられたコメントを作成します。

wp_new_comment( array(
    'comment_post_ID' => 123,
    'comment_author' => '佐藤花子',
    'comment_author_email' => 'sato@example.com',
    'comment_content' => 'カスタム投稿へのコメント。',
    'comment_type' => '',
    'user_ID' => 0
) );

例4: 特定の条件下でのコメント投稿

条件を満たす場合のみコメントを追加します。

if ( is_single() ) {
    wp_new_comment( array(
        'comment_post_ID' => get_the_ID(),
        'comment_author' => '条件付き投稿者',
        'comment_author_email' => 'conditional@example.com',
        'comment_content' => '条件が満たされたコメント。',
        'comment_type' => '',
        'user_ID' => 0
    ) );
}

例5: 未承認のコメントを追加

ステータスを指定して未承認のコメントを投稿します。

wp_new_comment( array(
    'comment_post_ID' => get_the_ID(),
    'comment_author' => '未承認コメント',
    'comment_author_email' => 'pending@example.com',
    'comment_content' => 'このコメントは未承認状態です。',
    'comment_approved' => 0,
    'user_ID' => 0
) );

注意点

  • comment_post_IDに有効な投稿IDを指定する必要があります。
  • スパム防止のため、comment_author_emailの検証を行うことをお勧めします。

関連機能: