説明
comment_post は、コメントが保存された直後に実行されるアクションです。
基本構文
do_action( 'comment_post', int $comment_id, int|string $comment_approved, array $commentdata )
引数
$comment_id:コメントID$comment_approved:承認状態$commentdata:コメントのデータ
戻り値
値は返しません。
使い方(サンプル)
add_action( 'comment_post', function( $id ) {
// 通知処理など
} );
注意点
- 承認状態が
spamのコメントでも呼ばれます。
実務での使いどころ
- コメントが、投稿された直後に、通知や、追加の処理を、行うとき。
よくあるミスと対処
$comment_approvedの値を、確認していない。1(承認済み)、0(承認待ち)、spam(スパム)の場合がある。- 引数の数を、指定していない(既定は1つ)。
$comment_approvedなどを受け取るには、第4引数を指定する。 - コメントの内容を、エスケープせずに、メールなどへ出力している。
NG例
add_action( 'comment_post', function ( $comment_id ) {
wp_mail( 'admin@example.com', '新着コメント', get_comment_text( $comment_id ) ); // スパムも通知される
} );
OK例
add_action( 'comment_post', function ( $comment_id, $approved ) {
if ( 1 === (int) $approved ) {
// 承認済みのコメントだけを処理
}
}, 10, 2 );
使い分け早見表
| フック・関数 | 役割 |
|---|---|
comment_post |
コメントが、保存された直後 |
wp_insert_comment() |
コメントを、直接追加する関数 |
get_comments() |
コメントを、取得する関数 |

コメント