45式::雑記
45式::雑記は、日々の事を記してないから日記ではなく雑記です。

WordPressで無記名コメントの投稿者名を匿名から変更する

コメント
0件
トラックバック
0件

コメントの投稿者名が匿名になる仕組み

WordPressでは無記名のまま投稿されたコメントの投稿者は匿名と表示されます。
ただしそれはWordPressを日本語設定で使っている場合です。
無記名コメントの投稿者名は/wp-includes/comment-template.phpでコントロールされています。

/**
 * Retrieve the author of the current comment.
 *
 * If the comment has an empty comment_author field, then 'Anonymous' person is
 * assumed.
 *
 * @since 1.5.0
 * @uses apply_filters() Calls 'get_comment_author' hook on the comment author
 *
 * @return string The comment author
 */
function get_comment_author() {
	global $comment;
	if ( empty($comment->comment_author) ) {
		if (!empty($comment->user_id)){
			$user=get_userdata($comment->user_id);
			$author=$user->user_login;
		} else {
			$author = __('Anonymous');
		}
	} else {
		$author = $comment->comment_author;
	}
	return apply_filters('get_comment_author', $author);
}

$author = __('Anonymous');という一文が、無記名時の投稿者名を設定しています。
匿名ではなく、Anonymousです。
このAnonymousが言語設定に基づいて翻訳され、匿名と表示されているのです。

匿名から変更する方法

上記のソースを書き換える事で、無記名投稿者を匿名から任意の名前に変更する事ができますが、それではWordPressをバージョンアップするたびに変更が必要になってしまい、管理の手間が必要で不便です。

そこで上記のソースを参考に、現在使用しているテーマを改造して投稿者名を変更しようと思います。
以下のソースをテンプレートテーマのための関数 (functions.php)に追加して下さい。

/**
 * 無記名のコメント投稿者名を変更する
 */
function rename_anonymous() {
	global $comment;
	if( empty( $comment->comment_author ) ) {
		if( !empty( $comment->user_id ) ) {
			$user = get_userdata( $comment->user_id );
			$author = $user->user_login;
		} else {
			$author = '通りすがりの御面ライダー';
		}
	} else {
		$author = $comment->comment_author;
	}
	return $author;
}
add_filter( 'get_comment_author', 'rename_anonymous' );

例として通りすがりの御面ライダーに変更してみました。

ざっくりした方法なので、ブログの表示だけでなく、管理画面での表示も変更されます。

コメント[0]

コメントはまだありません。

コメント投稿フォーム

コメントを投稿するにはJavaScirptが必要です。ブラウザのJavaScriptを有効にしてください。

コメント投稿フォーム

トラックバック[0]

トラックバックはまだありません。

カテゴリ
アーカイブ
ヘルプ
Feed

フィードとは