MT4のベータテストに参加していた時、バグレポートのどさくさに紛れて「名前のみ必須に出来る機能をつけてほしい」とこっそりお願いしていたんですが、さすがにコレは実装してもらえなかったようです(^^;。確かに4.0の新機能を見るとコメント認証にすごく力を入れているので、「誰でも気軽に書きこめるようにメルアドは必須にしたくない、でも名前の書き忘れを防ぐために名前だけは必須にしたい」という要望は新MTの目指している方向とは逆をいってるような気もしますし。
でもうちではこれ、切実に必須機能なんですよね。なのでしかたなく、4.0でも3.3時代に引き続き、システムを少しいじくって「名前のみ必須」にするカスタマイズを実行。やってることは3.35と同じなんですが、微妙に変わっているところもあるので、4.0専用に覚え書きエントリーを設けてみることにしました。
1.Comments.pmの変更
MTをインストールしたディレクトリ/lib/MT/App/の中にあるComments.pmの[4.0は1012~1024行目、4.01は1029~1041行目、4.1は832~844行目、4.2は898~909行目]をコメントアウトし、その下に以下の赤字の部分を追加します。
if ( $blog->require_comment_emails() && !$commenter && !( $comment->author && $comment->email && is_valid_email( $comment->email ) ) ) { return $app->handle_error( $app->translate("Name and email address are required.") ); }
# if ( # $blog->require_comment_emails() # && !$commenter # && !( # $comment->author # && $comment->email # && is_valid_email( $comment->email ) # ) # ) # { # return $app->handle_error( # $app->translate("Name and email address are required.") ); # } if ($blog->require_comment_emails() && !$commenter && !($comment->author)) { return $app->handle_error($app->translate( "Name is required.")); }
2.ja.pmの変更
MTをインストールしたディレクトリ/lib/MT/L10N/の中にあるja.pmの[4.0は497行目、4.01は919行目、4.1は725行目、4.2は1988行目]の下に以下の赤字の一文を追加します(上の赤字でない一行が497行目の文字列です)。
'Name and email address are required.' => '名前とメールアドレスは必須です。',
'Name is required.' => '名前の入力は必須です。',
3.管理画面から「メールアドレスを要求」にチェック
管理画面の「設定→ブログの設定→登録/認証」の「認証なしコメント」にチェックを入れ、「メールアドレスを要求」にもチェックを入れます。これで「名前のみ必須」になります。
しかしこれ、誰かプラグインとか作ってくれないでしょうかね...絶対需要あると思うんですが(^^;。
<2008.8.16>4.2の修正箇所を追加。
コメント
メンズ | 2007年10月 6日 19:00
ありがとうございました!大変助かりました。
TAEKO | 2007年10月 8日 09:20
こんにちは。
お役に立てたようで嬉しいです。
4.0と4.01では少し修正行がずれてるので、それも時間のあるときに追記しておきますね。