この記事は最後に更新してから1年以上経過しています。

「姓」の後に「名」を

説明

WordPressのユーザー情報設定ページでは、「名(First name)」の後に「姓(Last name)」を入力するようになっている。日本向けのユーザー登録できるサイトの場合、この並び順はちょっと違和感があるので、「姓」「名」の順に入力できるようにした。

WordPressの管理画面では、table要素によってフォームの各項目を表現しているので、今回のように「名」と「姓」の並びを変更する場合はそれらのtr要素を入れ替えればいい。具体的には、テーマのfunctions.phpに次のコードを追加し、admin_print_footer_scriptsアクションを利用して、「名」と「姓」のあるtr要素を入れ替えた。

add_action( 'admin_print_footer_scripts', 'first_name_after_last_name' );
function first_name_after_last_name() {
?>
<script type="text/javascript">
/* <![CDATA[ */
( function($) {
	$( '#last_name' ).each( function () {
		tr_last_name = $(this).parents( 'tr' );
		tr_first_name = tr_last_name.prev( 'tr' );
		if ( tr_first_name.find( '#first_name' ).length == 1 )
			tr_last_name.after( tr_first_name );
	} );
} )( jQuery );
/* ]]> */
</script>
<?php
}

管理画面の操作できるアクションはいくつか用意されている。今回使用したadmin_print_footer_scriptsアクションは2.8.0で追加されたアクションである。それ以前のバージョンなら、admin_footerアクション(1.2.0以降)が利用できる。


最終更新 : 2013年11月06日 18:44

お勧め

disabled(2018年5月27日 更新)

string disabled( mixed $disabled [ , mixed $current = true [ , bool $echo = true ] ] )
HTMLのdisabled属性を表示する。パラメータ$echoにfalseを指定した場合は表示しない。

load_child_theme_textdomain(2018年5月27日 更新)

bool load_child_theme_textdomain( string $domain [ , mixed $path = false ] )
子テーマ用の国際化用ファイル(MOファイル)をロードする。

count_many_users_posts(2011年6月13日 更新)

array count_many_users_posts( array $users )
複数ユーザの投稿数を取得する。

esc_textarea(2015年12月11日 更新)

string esc_textarea( string $text )
TEXTAREAタグの値をエスケープする。

header_textcolor(2012年9月6日 更新)

void header_textcolor()
カスタムヘッダーのテキスト色を表示する。