WordPress Snippet

ワードプレスをカスタマイズしよう

偽装コメントへの対応

WordPressにログインしない状態で、ユーザーや管理者を偽装してコメントの返信を行われた場合、外部の人からは、それがブログのユーザーからのコメントなのか、偽装したコメントなのか 見分けがつきません。

未ログイン状態でコメントを送信した時に、フィールドの名前に、ブログのユーザー名が使用された場合、そのコメントを破棄するというアイディアです。

テーマの、functions.php等にコードを追加します

<?php
/**
 * http://codex.wordpress.org/Function_Reference/get_users
 *
 * これは、サンプルコードです。
 * 十分検証されていませんので、ご自身で検証する必要があります。
 */
	add_action( 'pre_comment_on_post', 'nobita_comment_only_form');

	function nobita_comment_only_form(){
	
/**
 * コメントを確認+ログインしていないことも確認
 *
 *
 *
 */
	
		if ( isset($_POST['comment']) &amp;&amp; $_POST['author'] &amp;&amp; !is_user_logged_in() ) {
/** 
 * コメントの投稿者を取得
 *
 *
 *
 */
	
			$author = esc_sql( $_POST['author'] );
/**
 * コメントの投稿者が、既にユーザーに含まれるかどうかを検索
 *
 *
 *
 */
			$blogusers= get_users('search='. $author);
			
/**
 * コメントの投稿者が、既に存在していれば、コメントを中止
 *
 *
 *
 */
			if( ! empty( $blogusers ) ){
/**
 * メッセージを表示して終了
 *
 *
 *
 */
				wp_die( $author.'さんは既に登録済みのようです。会員の方でしたら、ログインしてからコメントしてください' );			
			}
		}
	}
?>

[emulsion_relate_posts]