サポート » 使い方全般 » カテゴリ階層の変更を行ったらパンくずに全く違うカテゴリと記事タイトルが表示される

  • 解決済 ukired

    (@ukired)


    【現象】
    Breadcrumb NavXTを使用していたテーマで、
    single.phpを表示している際にパンくずが全然違うカテゴリと記事タイトルが表示されます。
    参照している記事の親カテゴリでもない、全く関係ないカテゴリと、そのカテゴリに属する記事タイトルが表示された状態です。
    category.phpや、archive.phpなど、記事詳細以外は問題ありませんでした。

    【最近行ったこと、原因?】
    カテゴリの(改装見直し)親子関係の変更や、新たにカテゴリを追加したり、
    削除したりしたことが影響しているのでしょうか?

    【やってみた対応策】
    プラグインではなく、function.phpに記述する方式でパンくずを表示してみましたが、同じ現象でした。
    気になったのはfunction側で記事タイトルの取得を「wp_title」にしたところ、
    記事のタイトルだけは表示している記事のものがechoされるようになりました。

    
    // function.phpで記述している投稿singleページの際のパンくず表示部分
      if(is_singular('post')){
        $category = get_the_category($post->ID);
        $cat = $categorie[0];
        $cat_id = $category[0]->cat_ID;
        $cat_term_id = $category[0]->term_id;
        
        if($cat->parent != 0){
          $ancestors = array_reverse(get_ancestors($cat->cat_ID, 'category'));
          foreach($ancestors as $ancestor){
            $str.= '
    

    なにか解決方法はないでしょうか、同じ現象が出た方で
    解決方法をご存知の方がいらっしゃれば是非教えてください。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • CG

    (@du-bist-der-lenz)

    プラグインもテーマも更新はなく、パーマリンク設定は再度行ったうえで起こっている現象ですか

    トピック投稿者 ukired

    (@ukired)

    そう言えば、プラグインの更新を行いました。
    その後おかしくなったので、パーマリンク設定を行ってみたのですが、問題は解決せずでした。

    テーマは未変更のままでも問題がでていたのですが、
    色々修正を試したため、現在改変された状況です。

    CG

    (@du-bist-der-lenz)

    Breadcrumb NavXTを使用していたテーマで、single.phpの問題か、ほかに原因があるか。切り分けした結果ですね。

    トピック投稿者 ukired

    (@ukired)

    バックアップから改変前のテーマを入れて確認みました。
    Breadcrumb NavXTを再度有効化したところ、
    問題なくパンくずが表示されました。
    どうやら問題はテーマ側のようです。

    改変後、
    Breadcrumb NavXTはheader.phpに読み込んでいましたので、試しにsingle.phpの
    if hav_posts内においてみたところ問題が解消しました。

    
    <?php if(have_posts()):while(have_posts()):the_post(); ?>
    ここにパンくずを設置
    <?php endwhile; endif; ?>
    
    

    レイアウトの問題で、できればheader.php内、スマホではfooter.phpに設置したいのですが、
    have_postsの外において挙動がおかしくなるのはどうしようもないのでしょうか…?

    こんにちは

    デバッグモードにしてみたら何かエラーメッセージが表示されて手掛かりが得られるかもしれません。
    https://wpdocs.osdn.jp/WordPressでのデバッグ

    $category = get_the_category($post->ID);
    $cat = $categorie[0]; // ←ここ

    have_postsの外において挙動がおかしくなるのはどうしようもないと思います。
    the_post();の後でないと$postに現在の投稿が入っていないからです。

    トピック投稿者 ukired

    (@ukired)

    ご回答ありがとうございました、
    Breadcrumb NavXTのプラグインに戻し、かつ、
    single.phpの時だけhave_posts内に
    設置するようにして対応することにしました。

    これで解決としたいと思います。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • トピック「カテゴリ階層の変更を行ったらパンくずに全く違うカテゴリと記事タイトルが表示される」には新たに返信することはできません。