「カスタム投稿タイプのアーカイブページ」の親を、固定ページにしたいです

0
いいねをした人: 居ません
8件の投稿を表示中 - 1 - 8件目 (全8件中)
  • 投稿者
    投稿
  • #14430
    とんぺい
    参加者
    0

    トピックを新しく立てる方は次の項目も記述してください(要望トピックの場合は不要です)。

    【お使いの Snow Monkey のバージョン】v5.6.1
    【お使いのブラウザ】Google Chrome ver.73.0
    ===

    お世話になっております。

    タイトルにありますように、「カスタム投稿タイプのアーカイブページ」の親ページを、固定ページにしたいのですが、その方法が分からない状態です。

    言葉では分かりにくいかと思いましたので、下図にまとめてみました。

    質問

     

    上図のように、例えば固定ページAにカスタム投稿タイプのアーカイブページへのリンクを設置し、そこからリンク先へ飛ぶとパンくずリストが
    トップページ > カスタム投稿-アーカイブ
    のようになってしまいます。
    理想の構造は
    トップページ > 固定ページA > カスタム投稿-アーカイブ
    にしたいです。
    URLはスラッグのリライトでいけるのですが、パンくずリストが思い通りにいきません。

    パンくずリストを
    トップページ > 固定ページA > カスタム投稿-アーカイブ
    とするには、固定ページAを、カスタム投稿タイプのアーカイブページの親に設定する必要があると思うのですが、通常、カスタム投稿タイプのアーカイブページに親ページは設定できないと思います。

    そこで、解決方法として、固定ページAを親とした「固定ページB」を作り、固定ページBにカスタム投稿タイプのアーカイブ一覧を表示させたいのですが、どのテンプレートをカスタマイズし、どのフォルダに格納すれば良いのかがわからない状態です。
    お手数ですが、ご教示いただけましたら幸いです。

    最終的に実現したいこととしましては、パンくずリストを
    トップページ > 固定ページA > カスタム投稿-アーカイブ
    と表示させることです。
    何卒よろしくお願い致します。

    0
    いいねをした人: 居ません
    #14432
    アバター画像キタジマ タカシ
    参加者
    2421

    「カスタム投稿タイプのアーカイブページ」の親を固定ページにするのは難しいのですが、パンくずを書き換えるのはフックで比較的簡単にできます。パーマリンクはなんとかできるのであればパンくずを書き換える方法がベターかなと思うのですがどうでしょう?

    0
    いいねをした人: 居ません
    #14433
    とんぺい
    参加者
    0

    早速のご回答ありがとうございます!
    パンくずを書き換える方法で検討してみます!

    0
    いいねをした人: 居ません
    #14434
    アバター画像キタジマ タカシ
    参加者
    2421

    パンくずを書き換えるフックを使うと、パンくずの各項目が配列で渡ってくるので、それを書き換えれば良いです。下記が参考になるかと!

    0
    いいねをした人: 居ません
    #14435
    とんぺい
    参加者
    0

    詳細情報までありがとうございます!助かります。

    0
    いいねをした人: 居ません
    #14468
    とんぺい
    参加者
    0

    実現したいパンくず書き換えることができました!ありがとうございました。

    下記のコードで実現したのですが、もし何か考え方が間違っているとか、改善点がございましたら、お手すきの際にご指摘いただけますと幸いです。よろしくお願いいたします。

    add_filter(
        'snow_monkey_breadcrumbs',
        function( $items ) {
            if ( is_post_type_archive('custom_archive') ) {
                //フロントページ情報の取得
                $f_pageID = get_option( 'page_on_front' );
                $frontPage = get_post( $f_pageID );
    
                $items[ count( $items ) - 2 ] = [
                    'link' => esc_html(home_url()),
                    'title' => esc_html($frontPage->post_title),
                ];
    
                //固定ページA情報の取得
                $testa_Page_permalink = get_permalink(148);
                $testa_Page_title = get_the_title(148);
    
                $items[ count( $items ) - 1 ] = [
                    'link' => esc_html($testa_Page_permalink),
                    'title' => esc_html($testa_Page_title),
                ];
    
                $items[ count( $items ) - 0 ] = [
                    'link' => '',
                    'title' => esc_html(get_post_type_object(get_post_type())->label),
                ];
            }
    
            return $items;
        }
    );
    0
    いいねをした人: 居ません
    #14498
    アバター画像キタジマ タカシ
    参加者
    2421

    僕なら、ホームとカスタム投稿アーカイブの情報は既に配列に入った状態で渡ってくるはずなので、 array_splice で固定ページの情報を間に突っ込む形にするかなと思います。

    でも、ちゃんと想定どおりに動いているのであれば、全然現状の形で良いのではないでしょうか!

    0
    いいねをした人: 居ません
    #14515
    とんぺい
    参加者
    0

    勉強になります。またarray_spliceも試してみようと思います。
    ありがとうございました!

    0
    いいねをした人: 居ません
8件の投稿を表示中 - 1 - 8件目 (全8件中)
  • トピック「「カスタム投稿タイプのアーカイブページ」の親を、固定ページにしたいです」には新しい返信をつけることはできません。

ドキュメント

Snow Monkey の設定方法やマニュアルを掲載しています。

ドキュメント

フォーラム

Snow Monkey の使い方やカスタマイズについてのご質問・ご要望等はサポートフォーラムで行っています。サポートフォーラムは誰でも閲覧できますが、書き込みできるのは Snow Monkey 購入者のみとなります。

サポートフォーラム

よくあるご質問

Snow Monkey のサービスについて不明な点がある場合は、まずはよくあるご質問をご確認ください。

よくあるご質問

お問い合わせ

よくあるご質問を見ても解決しなかった場合、試用版の申請については問い合わせフォームからお願いいたします。

お問い合わせ

Snow Monkey は Gutenberg ブロックエディターに対応した 100%GPL の WordPress テーマです。拡張性を意識した開発をおこなっており、カスタマイザーとブロックでスピーディーにサイトを立ち上げるだけでなく、CSS やフックを駆使した高度なカスタマイズにも柔軟に対応できます。