サポート » 使い方全般 » 固定ページの「title」にカテゴリー名を出力したい

  • 解決済 heppoko

    (@heppoko)


    いろいろな諸事情で、カテゴリーで作ったページをトップにしてページ展開をするサイトを作っています。
    動作や表示に問題なく公開できるかと思っていたら、「title」部分に問題が出まして。

    <?php if( is_single() || is_page() ): ?>
    	<title><?php the_title(); ?>|<?php $cat = get_the_category(); $cat_name = $cat[0]->cat_name; ?><?php echo $cat_name; ?></title>
    <?php else: ?>
    	<title><?php $cat = get_the_category(); $cat_name = $cat[0]->cat_name; ?><?php echo $cat_name; ?></title>
    <?php endif; ?>

    トップページだったら、「カテゴリー名」。
    個別、固定ページだったら、「タイトル|カテゴリー名」。
    という出力。

    トップと個別は問題なかったのですが、固定ページになるとカテゴリー名を出力してくれないのです。
    出力先が「page.php」だからなのか。だとしても何が悪いのかが分からず困っております。

    お分かりの方がいらっしゃいましたらご教授いただければ幸いです。
    よろしくお願いいたします。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • こんばんは。

    固定ページはカテゴリを持っていないと思うので
    固定ページにカテゴリを追加してあげて
    http://shufulife.com/page-category/

    functions.phpに以下コピペ

    add_action('init','add_categories_for_pages'); 
    function add_categories_for_pages(){ 
    register_taxonomy_for_object_type('category', 'page'); 
    } 
    add_action( 'pre_get_posts', 'nobita_merge_page_categories_at_category_archive' ); 
    function nobita_merge_page_categories_at_category_archive( $query ) { 
    if ( $query->is_category== true && $query->is_main_query() ) { 
    $query->set('post_type', array( 'post', 'page', 'nav_menu_item')); 
    } 
    } 

    こちらの環境ではTwenty Seventeenでご提示いただいたソースを張り付け
    やってみたところいけましたがいかがでしょうか。

    上記だと投稿のカテゴリと同じものを使いまわす感じです
    固定ページは固定ページでのカテゴリを別に作るとなると
    カスタム投稿タイプ+タクソノミー(カテゴリ)のような形もできると思います。

    • この返信は6年、 10ヶ月前にhokutonojikeiが編集しました。理由: 追加情報
    トピック投稿者 heppoko

    (@heppoko)

    hokutonojikeiさん

    ご回答ありがとうございました。
    「固定ページはカテゴリを持っていない」というの拝見して、なるほどと思いました。

    そして、提示いただいたソースで問題なく表示してくれました。
    重ね重ねありがとうございました。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「固定ページの「title」にカテゴリー名を出力したい」には新たに返信することはできません。