web系[欲しいものを自分で作る]模索の日々

javascriptとかphpとか使って色々作って行きます。触ったことのある言語は、C, C++, Java, python, Ruby, Processing

ユーザー項目の追加と削除

現在、ゼミの卒業生サイトをWordPressで作っています。それでユーザを卒業年ごとに分類して管理しておこうと思い、ユーザ情報の項目を増やせないか調べてみました。


どうやら「functions.php」にコードを追加するということはすぐに分かりました!!
場所は、他のコードの途中に差し込んだりしない限り大丈夫です。分かりやすく、1番下とかがベターでしょうか。追記するサンプルコードはこんな感じです。

<?php

/* プロフィール項目の削除と追加 */
function update_profile_fields( $contactmethods ) {
	
        /*項目の削除*/
	unset($contactmethods['aim']);
	unset($contactmethods['jabber']);
	unset($contactmethods['yim']);

	/*項目の追加*/
	$contactmethods['alumni'] = '卒業年';
	$contactmethods['twitter'] = 'Twitter';
	$contactmethods['facebook'] = 'Facebook';
	
	return $contactmethods;
}
add_filter('user_contactmethods','update_profile_fields',10,1);

?>


しかし、こんなエラーがでてしまいました。

Parse error: syntax error, unexpected '<' in /pub/WWW/wordpress/wp-includes/functions.php on line 3856


うぅむ。なんどやってもうまく行かないので困っていたのですが、実は「functions.php」は「wp-includes/functions.php」だけでなく、「wp-content/themes/twentytwelve/functions.php」というように各テーマフォルダにも存在していました。早速、テーマフォルダ内の「functions.php」に先ほどのコードを挿入したところ、うまくいきました。うまく行けば、プロフィール項目が画像のようになります。


f:id:hujuu:20130213175025p:plain


そもそもなんで、「wp-includes/functions.php」のほうにコードを追加してしまったかというと、参考書を読んで作ったテーマには「functions.php」がなかったために、起こった悲劇でした。僕と同じように最初から「functions.php」が無かった人は、自分で同名のファイルをテーマフォルダに作成して、そこにさっきのコードだけ書き込めばそれだけでいけます!