2012年10月のブログ記事一覧

WordPressの管理画面などで使われている文言は、翻訳ファイル(poファイル)で定義されています。翻訳ファイルを修正するのは面倒ですが、functions.phpを使って、場当たり的ではありますが簡単に変更することもできます。

function my_gettext( $translated, $text, $domain ) {
    $custom_translates = array(
        'default' => array(
            'ニックネーム' => '名まえ',
            'プロフィール情報' => '自己紹介'
        )
    );
    if ( isset( $custom_translates[$domain] ) ) {
        $translated = str_replace( array_keys( $custom_translates[$domain] ), $custom_translates[$domain], $translated );
    }
    return $translated;
}
add_filter( 'gettext', 'my_gettext', 10, 3 );

詳しくはこちらをご参照ください。

WordPressで翻訳ファイルを修正せずにテキストを変更する方法
http://www.warna.info/archives/1581/

登録ユーザーのプロフィール項目は追加・削除することができます。
会員制サイトをつくるときなどに便利ですね。

function my_user_meta($hoge) {
    //不要な項目の削除
    unset($hoge['aim']);
    unset($hoge['jabber']);
    unset($hoge['yim']); 
    //項目の追加
    $hoge['user_sex'] = '性別';
    $hoge['user_blood'] = '血液型';
    return $hoge;
}
add_filter('user_contactmethods', 'my_user_meta', 10, 1);

WordPressの管理画面から指定できるパーマリンク設定は固定ページには適用されないので、functions.phpに以下のようなアクションを追加して設定します。

function my_init() {
	global $wp_rewrite;
	$wp_rewrite->page_structure = $wp_rewrite->root . '%pagename%.html';
	flush_rewrite_rules( false );
}
add_action( 'init', 'my_init' );

‘%pagename%.html’の部分を、管理画面から行なうパーマリンク設定と同じ書式で記述すればOKです。上記の例では、投稿スラッグの後ろに「.html」を追加してhtml風のURLに見せています。

「.html」を追加するだけであれば「.html on PAGES」などのプラグインがありますが、他のプラグインとコンフリクトを起こすことがあるので、シンプルな機能追加はなるべくfunctions.phpを使って、自分で簡潔に記述するのがよいと思います。

なお、

flush_rewrite_rules( false );

上記は本来パーマリンク設定を変更する際に一度だけ実行すればよい処理なので、コメントアウトしてアップし、管理画面>設定>パーマリンク設定で「変更を更新」ボタンを押すことで代用できます。