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

 

トラックバックURL

トラックバックされる際にはこの記事へのリンクをお願い致します

トラックバックの一覧

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

コメント

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

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

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

コメントを投稿

 


 <注意>
 ご利用のブラウザ、設定ではコメントのプレビューおよび投稿はご利用になれません。
 コメント投稿の際はお手数ですがjavascriptをオンにして下さい。
 *javascriptオフのまま投稿ボタンを押すと送信内容が消えますのでご注意下さい。