2011 06

16

Thursday

WordPress コメントのメルアド必須を解除

Category:Web

「コメントするのにいちいちメールアドレス入力するのめんどくせーよ!」
とお叱りを受けましたので対策しました。

管理人はログイン中に
名前、メルアド、サイトの入力欄が省略されるので気付きませんでした。

たしかにコメントする度にメルアド入力はめんどくさい。
教えてくれてありがとう。

さて対策です。
wordpress本体を改造しますので
もし実装をお考えの方は自己責任でお願いします。

管理画面の【設定】>【ディスカッション】の中
「名前とメールアドレスの入力を必須にする」のチェックを外せば
メールアドレスの必須は解除されますが
なぜか名前も必須項目から外れてしまいます…。
名前だけは教えて頂きたい!という事で以下手順です。

いじるファイルはディレクトリ直下の
wp-comments-post.phpのみです。

80行目あたりに

<br />
if ( '' == $comment_content )<br />
	wp_die( __('Error: please type a comment.') );<br />

という記述があると思います。

その記述の上に

<br />
//名前必須解除<br />
if(!$user-&gt;ID){<br />
    if ('' == $comment_author)<br />
        wp_die('Error: please type a name.');<br />
}<br />

を追加。

自分は日本語表記にしたかったので

<br />
//名前必須解除<br />
if(!$user-&gt;ID){<br />
    if ('' == $comment_author)<br />
        wp_die('名前を入力して頂けませんか?');<br />
}<br />

と改変。

そして見事に文字化けしたので

18行目あたりの

<br />
nocache_headers();<br />

の下に
<br />
header('Content-Type:text/html;charset='.get_option('blog_charset'));<br />

を追加してみましたが改善されず…。

最終的な記述としては

<br />
//名前必須解除<br />
$nameCHK    = 'エラーなのです…名前を入力して頂けませんか?(泣)';<br />
$nameCHK    = mb_convert_encoding($nameCHK, &quot;UTF-8&quot;, &quot;SJIS&quot;);<br />
$commentCHK = 'エラーなのです…コメントを入力して頂けませんか?(泣)';<br />
$commentCHK = mb_convert_encoding($commentCHK, &quot;UTF-8&quot;, &quot;SJIS&quot;);<br />
if(!$user-&gt;ID){<br />
    if ('' == $comment_author)<br />
        wp_die($nameCHK);<br />
}<br />
if('' == $comment_content )<br />
	wp_die( __($commentCHK) );<br />

こんな感じにしました。

なぜか名前の所だけにエンコードをかけると
コメントのエラーが表示されなくなったので
名前とコメントをそれぞれ変数に格納しました。

あとは管理画面の【設定】>【ディスカッション】の中
「名前とメールアドレスの入力を必須にする」のチェックを外せばOKですね。

コメント欄のアバター表示に欠かせなくなりそうなGravatarの紹介

メールアドレスの欄を消さずに残してあるのにはある意図が…(笑)
特にメルアドが欲しい訳ではないんです。
やっぱりブログのコメント欄はアイコンがあった方が
賑やかになるし楽しいじゃないですか!
って事で
gravatar_logo
Gravatarというサービスをご紹介したいと思います。

なんでもメールアドレスを登録し、自分のアバター(アイコン画像)を手順に従い
登録しておくと、そのメールアドレスでコメントした場合に
そのアイコンが表示されるようになるんです。

このサイトはもちろん様々なブログサイトでも導入されはじめているみたいなので
とりあえず登録してみてはいかがでしょうか?
もちろん無料です。
このサイトのコメント欄に表示されている自身のアイコンもGravatarです。

このエントリをご覧頂いて、試してみたい方は
このエントリのコメント欄を自由に使ってみてください。

以上、余談でしたっ。

LINEで送る
[`evernote` not found]

pageTop