このブログは現在WordPress3.0で、テーマもtwentytenを使っています。大変いい感じなのですが、ひとつ気になることがあります。

それはコメントをいただくのに、メールアドレスが必修項目になっていることです。管理画面からメールアドレスを要求しない設定はあるのですが、この設定は「名前」と「メールアドレス」の両方を要求しなくなります。「名前」はほしいので「メールアドレス」だけ入力しなくていいようにしました。

スパムが心配な方はWordPressのプラグインでAkismetなどを導入すればよろしいでしょう^^

【修正方法】

以下の二つのphpプログラムを修正します。

  • /wordpress/wp-comment-post.php メールドレス入力チェック部
  • /wordpress/wp-include/comment-template.php 入力フォーム表示部

 

/wordpress/wp-comment-post.phpの76行目あたり

メールアドレス入力チェックをつぶします。

if ( get_option('require_name_email') && !$user->ID ) {
 if ( 6 > strlen($comment_author_email) || '' == $comment_author )
  wp_die( __('Error: please fill the required fields (name, email).') );
 elseif ( !is_email($comment_author_email))
  wp_die( __('Error: please enter a valid email address.') );
}

を以下のように修正

if ( get_option('require_name_email') && !$user->ID ) {
 if ( '' == $comment_author )
  wp_die( __('Error: please fill the required fields (name).') );
}

 

/wordpress/wp-include/comment-template.php の1497行あたり

コメント入力フォームからメールアドレス自身を削除しちゃいます。

   $fields =  array(
'author' => '<p>' . '<label for="author">' . __( 'Name' ) . '</label> ' . ( $req ? '<span>*</span>' : '' ) .
              '<input value="' . esc_attr( $commenter['comment_author'] ) . '" size="30"' . $aria_req . ' /></p>',
 <span style="color: #ff0000;"> 'email'  =&gt; '&lt;p&gt;&lt;label for="email"&gt;' . __( 'Email' ) . '&lt;/label&gt; ' . ( $req ? '&lt;span&gt;*&lt;/span&gt;' : '' ) .
              '&lt;input value="' . esc_attr(  $commenter['comment_author_email'] ) . '" size="30"' . $aria_req . ' /&gt;&lt;/p&gt;',
</span>  'url'    =&gt; '&lt;p&gt;&lt;label for="url"&gt;' . __( 'Website' ) . '&lt;/label&gt;' .
              '&lt;input value="' . esc_attr( $commenter['comment_author_url'] ) . '" size="30" /&gt;&lt;/p&gt;',
 );

を以下のように修正(emailの行を削除してます)

 $fields =  array(
  'author' =&gt; '&lt;p&gt;' . '&lt;label for="author"&gt;' . __( 'Name' ) . '&lt;/label&gt; ' . ( $req ? '&lt;span&gt;*&lt;/span&gt;' : '' ) .
              '&lt;input value="' . esc_attr( $commenter['comment_author'] ) . '" size="30"' . $aria_req . ' /&gt;&lt;/p&gt;',
  'url'    =&gt; '&lt;p&gt;&lt;label for="url"&gt;' . __( 'Website' ) . '&lt;/label&gt;' .
              '&lt;input value="' . esc_attr( $commenter['comment_author_url'] ) . '" size="30" /&gt;&lt;/p&gt;',
 );

これでメールアドレスを入力しなくてもコメントを書けるようになりました。

せっかくなのでコメントください・・・<m(__)m>