説明
wp_insert_comment() は、コメントを新規作成する関数です。
基本構文
wp_insert_comment( array $commentdata ): int|false
引数
$commentdata:comment_post_ID、comment_author、comment_contentなど- 渡すデータは、スラッシュ済みの前提で、内部で
wp_unslash()される。バックスラッシュを含む本文は、wp_slash()を通して渡す。
戻り値
コメントID。失敗時は false。
使い方(サンプル)
wp_insert_comment( array(
'comment_post_ID' => 123,
'comment_author' => '太郎',
'comment_content' => 'テストです',
) );
注意点
- スパム判定などは通りません。フロントのコメント投稿には
wp_new_comment()が向いています。
実務での使いどころ
- プログラムから、コメントを、直接追加するとき(インポートや、システムの通知コメント)。
よくあるミスと対処
- 訪問者が、投稿したコメントに使っている。スパムの確認や、承認の待ち、通知などの、通常の処理が行われない。訪問者のコメントには、
wp_new_comment()を使う。 comment_post_IDやcomment_contentを、指定していない。- 戻り値が
falseのときを、考えていない。
NG例
wp_insert_comment( array( 'comment_content' => $_POST['text'] ) ); // 訪問者の入力を、確認なしに追加している
OK例
$comment_id = wp_insert_comment( array(
'comment_post_ID' => $post_id,
'comment_content' => 'システムによるコメントです。',
'comment_author' => 'システム',
'comment_approved' => 1,
) );
使い分け早見表
| 関数 | 特徴 |
|---|---|
wp_insert_comment() |
コメントを、直接追加する(通常のチェックなし) |
wp_new_comment() |
訪問者のコメントとして、チェックを行って追加する |
get_comments() |
コメントを取得する |
関連項目
wp_new_comment()、get_comments()
公式リファレンス:wp_insert_comment() | Function | WordPress Developer Resources

コメント