ログインした状態で、コメントしようとすると、
「○○としてログインしています。ログアウトしますか?」
となりますよね。
これを、「ログインした状態で、名前入力できるようにして欲しい」という依頼が・・・
会員制サイトなんですが、会員用のID・パスワードが共通なので、困ってるというお話。
私:会員のID個別発行すればどーでしょ?
先方:会員数多いし管理も面倒なので、なんとかできん?
じゃ、とりあえず、google先生にご登場いただきまして・・・
おー、同じ内容があるもんですな。フォーラムで発見!
ふーむ、とりあえず、ログイン状態で、名前入力欄(メアド・URLも)を表示させんといかんわけですな。
さて、ログイン判定の分岐はどこでしょう?
comments.phpにはないですよー(TwentyElevenね。TwentyTenもないはず)
ってことは、テーマファイル内ではない・・・コアファイルか
みっけ!wp-includes/comment-template.phpでございます。
飛び飛びになるので、消去(コメントアウト)する行数だけ書いておきます。
(is_user_logged_in() 絡みのIF文の内容と、else、endifを消します。)
・1555~1558行
・1561~1564行
・1573行
・1582行
この状態でコメントフォームに名前、メアド、URL入力欄が表示されていればOK
URL他が不要な場合は、cssで非表示にする等で対応を。
あとは、テーマファイルのfunctions.phpに、上記フォーラムにある
[php]
function my_pre_comment_author_name($name){
$user = wp_get_current_user();
if($user->ID && isset($_POST[‘author’]))
$name = trim(strip_tags($_POST[‘author’]));
return $name;
}
add_filter(‘pre_comment_author_name’, ‘my_pre_comment_author_name’);
[/php]
を追記すれば完成!
さくっと書いてますが、ここに辿り着くまで約4時間 (;^_^A
けっこー大変でした!!
- 投稿タグ
- カスタム