wp_check_comment_data()


WordPressの関数wp_check_comment_data()は、コメントデータが正しい形式かどうかを検証するために使用されます。この関数は、コメントの投稿を処理する前に必要な検証を実行し、コメントの内容やメタ情報が有効であるかどうかを確認します。

シンタックス

wp_check_comment_data( array $commentdata );
  • $commentdata (array) — コメントのデータ。配列形式で、コメント内容、投稿ID、コメント者の名前やメールアドレスなどを含みます。

例 1: コメントデータの検証

次のコードは、wp_check_comment_data()関数を使用してコメントデータが有効であるかどうかを確認します。

<?php
$commentdata = array(
    'comment_post_ID' => get_the_ID(),
    'comment_author' => 'John Doe',
    'comment_author_email' => 'john@example.com',
    'comment_content' => 'This is a comment.'
);

$result = wp_check_comment_data( $commentdata );
if ( is_wp_error( $result ) ) {
    echo 'エラーが発生しました: ' . $result->get_error_message();
} else {
    echo 'コメントデータは有効です。';
}
?>

例 2: 無効なコメントデータの処理

無効なコメントデータが渡された場合、wp_check_comment_data()関数はエラーメッセージを返します。

<?php
$commentdata = array(
    'comment_post_ID' => get_the_ID(),
    'comment_author' => '',
    'comment_author_email' => '',
    'comment_content' => ''
);

$result = wp_check_comment_data( $commentdata );
if ( is_wp_error( $result ) ) {
    echo 'エラー: ' . $result->get_error_message();
}
?>

例 3: コメントの投稿者名が空の場合の検証

コメント投稿者名が空の場合、エラーが返されることを確認できます。

<?php
$commentdata = array(
    'comment_post_ID' => get_the_ID(),
    'comment_author' => '',
    'comment_author_email' => 'john@example.com',
    'comment_content' => 'This is a comment.'
);

$result = wp_check_comment_data( $commentdata );
if ( is_wp_error( $result ) ) {
    echo 'コメント者名は必須です。';
}
?>

例 4: コメント内容が空の場合の処理

コメント内容が空の場合もエラーが返されます。

<?php
$commentdata = array(
    'comment_post_ID' => get_the_ID(),
    'comment_author' => 'John Doe',
    'comment_author_email' => 'john@example.com',
    'comment_content' => ''
);

$result = wp_check_comment_data( $commentdata );
if ( is_wp_error( $result ) ) {
    echo 'コメント内容は必須です。';
}
?>

例 5: コメントデータの検証とエラーハンドリング

コメントデータの検証結果に応じて、エラーメッセージを表示する例です。

<?php
$commentdata = array(
    'comment_post_ID' => get_the_ID(),
    'comment_author' => 'John Doe',
    'comment_author_email' => 'john@example.com',
    'comment_content' => 'This is a valid comment.'
);

$result = wp_check_comment_data( $commentdata );
if ( is_wp_error( $result ) ) {
    echo 'エラー: ' . $result->get_error_message();
} else {
    echo 'コメントは有効です。';
}
?>

注意点:

  • コメントデータが無効な場合、エラーが返されます。
  • この関数は、コメントが実際にデータベースに保存される前に検証を行うため、適切なデータの送信が重要です。

関連機能: