【WPML】カスタム投稿ラベルを多言語化する
2015-06-07
まあ、フロントだけ多言語かすれば良いなら、別に気にすることないのでしょうが、
クライアントに管理画面を渡すことになると、管理画面もそれ相応に多言語化しておく必要があります。
ということで、メモ。
まず、カスタム投稿をプラグインかfunctions.phpで生成します。
Custom Post Types UIか何かでコードを吐き出してもらうと楽でしょう。
ざっと以下のようになりますが、labelのところがミソです。
add_action( 'init', 'cptui_register_my_cpts' ); function cptui_register_my_cpts() { $labels = array( "name" => __( 'ニュース' ), "singular_name" => __( 'ニュース' ), ); $args = array( "labels" => $labels, "description" => "", "public" => true, "show_ui" => true, "has_archive" => true, "show_in_menu" => true, "exclude_from_search" => false, "capability_type" => "post", "map_meta_cap" => true, "hierarchical" => false, "rewrite" => array( "slug" => "news", "with_front" => true ), "query_var" => true, ); register_post_type( "news", $args ); // End of cptui_register_my_cpts() }
「__( 'ニュース' )」のように、Gettext化しておき、
「テーマとプラグインローカライゼーション」でテーマやプラグインをスキャンすると、
WPMLのストリング翻訳に載ってくるという訳です。
後は、「翻訳」でそれぞれの言語を入力すれば、管理画面での使用言語によって表示が変わります。
なんとも素晴らしいプラグインですね。