top

コメント記入時に「名前のみ必須」にする(2) 4.0~4.2版

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の修正箇所を追加。

 

トラックバックの一覧

トラックバック ブログコーディングに際して  »» 2008年9月12日 18:45
MTをブログとしてオーサリングする場合に、コメント欄への要素の適応ですが、全般的...

コメント

ありがとうございました!大変助かりました。

こんにちは。
お役に立てたようで嬉しいです。

4.0と4.01では少し修正行がずれてるので、それも時間のあるときに追記しておきますね。