カスタム投稿アーカイブページで、「カスタム投稿名」を取得する

2015.11.16 Wordpress

WordPressでアーカイブページのタイトルタグの出し方に困ってませんか?

動的に出力して、どのアーカイブページでもそれらしいのが表示されるようにしたいですよね!
そのメモです。

get_post_type_object()でカスタム投稿のタイトルを出す!

関数リファレンス/get post type object – WordPress Codex 日本語版

引数にカスタム投稿のID(register_post_type()で指定した半角英数字)を指定します。
ですがそこをいちいち手入力していたら仕方ないので、wordpressのシステムを利用します。

$q = $wp_query->query_vars;
$postTypeNameObj = $q["post_type"];

これで$postTypaNameObjには、カスタム投稿タイプのIDが入ります。

これを利用して

$postTypeName = get_post_type_object($postTypeNameObj)->labels->name;

とすると、カスタム投稿タイプ名が取得できます。
ここで取得できる値は、

$labelPlans = array(
 'name' => '★カスタム投稿名' ,
 'singular_name' => '~~' ,
 'add_new' => '~~を追加する' ,
 'add_new_item' => ~~を追加する' ,
 'new_item' => '新しい~~' ,
 'search_items' => '今までの~~を探す' ,
 'not_found' => 'ありません'
 );
 $argPlans = array(
 'labels' => $labelPlans ,
 'description' => '概要' ,
 'public' => true ,
 'publicly_queryable' => true ,
 'show_ui' => true ,
 'show_in_nav_menus' => true ,
 'show_in_menu' => true ,
 'menu_position' => 19 ,
 'menu_icon' => 'dashicons-welcome-widgets-menus' ,
 //'capability_type' => '',
 'hirarchical' => true ,
 'supports' => array('title' , 'editor' , 'author' , 'thumbnail' , 'revisions'),
 'has_archive' => true
 );
 register_post_type('chikyuya_plans' , $argPlans);

★の箇所で指定した値になります。

以上、ぜひ検索エンジンフレンドリーなWordpressサイト構築を目指しましょう。

でわ!

Profile

東京でWebデザイナー・コーダーとして、フロントエンド的なことからデザイン思考的なことを考えたりして、ごにょごにょと活動中。(ポートフォリオ)Webクリエイターでは珍しい(?) HIPHOP, R&B好き。休日はよくカフェや漫画喫茶に出向いたりパン屋に行ったりコーヒ豆買いに行ったり、主に散歩しています。。デザインのトレンドやデザイン思考、HTML、CSSからSASS、Javascript、Wordpress構築などコーディングのTIPSなどをブログにアップしていきます。その他のことはtwitter( @satohmsys )まで。コーヒー友達募集中。