wp_insert_comment() の使い方|説明・引数・注意点

説明

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

コメント

タイトルとURLをコピーしました