カスタム投稿タイプのアーカイブ毎にアーカイブページサイドバーのウィジェットを変えたい

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

    【お使いの Snow Monkey のバージョン】
    バージョン: 16.5.4
    【お使いの Snow Monkey Blocks のバージョン】
    バージョン 15.0.6
    【お使いの Snow Monkey Editor のバージョン】
    バージョン 7.0.1
    【お使いのブラウザ】
    Google Chrome
    【当該サイトのURL】

    ### 実現したいこと
    カスタム投稿タイプごとにカテゴリ設定し、アーカイブ毎にアーカイブページサイドバーのウィジェットを変えたい。

    ### 発生している問題
    すべてのアーカイブページに共通のアーカイブページサイドバーが反映される。
    ウィジェットを新規追加はできたものの、該当アーカイブページのページ下部に表示され、非表示にしたいウィジェットも表示される。

    ### 試したこと
    投稿と、カスタム投稿タイプ2件、それぞれにカテゴリ/カスタムタクソノミーを設定しました。
    投稿一覧には左サイドバーにアーカイブページサイドバーのウィジェットを表示させました。

    カスタム投稿タイプ用のウィジェットを設定するため、下記を行いました。
    —————————————————————
    ▼functions.php
    —————————————————————

    // お客様の声のサイドバーウィジェットエリア
    function create_custom_sidebar() {
    register_sidebars(1,
    array(
    'name' => 'お客様の声サイドバー',
    'id' => 'sidebar-review',
    'description' => 'お客様の声のサイドバーウィジェットエリア',
    'before_widget' => '<aside id="%1$s" class="widget widget-sidebar widget-sidebar-standard %2$s">',
    'after_widget' => '</aside>',
    'before_title'  => '<h3 class="widget-sidebar-title widget-title">',
    'after_title'   => '</h3>',
    ));
    }
    add_action('widgets_init', 'create_custom_sidebar');

    —————————————————————
    ▼archive-review.php
    —————————————————————

    get_sidebar( 'review' );
    

    —————————————————————
    ▼sidebar-review.php
    —————————————————————

    dynamic_sidebar( 'sidebar-review' );
    

    以上により、WordPressメニュー内のウィジェット内に新規でウィジェットを追加することはできたのですが、そこからどのようにアーカイブページ毎に異なるウィジェットのサイドバーを表示させればよいのかわかりません。

    どうかご教授いただけますと幸いです。
    よろしくお願いいたします。

    0
    いいねをした人: 居ません
    #105028
    GONSY
    参加者
    803

    たしか @キタジマさんが紹介している Custom Sidebars は、ウィジェットを投稿タイプやアーカイブごとに設定できたと思います。

    4
    いいねをした人:
    #105060
    キタジマ タカシ
    参加者
    2227

    GONSY さん、ありがとうございます!

    KyoheiForlead さん、Custom Sidebars でやりたいことが実現できるならこれが一番簡単だと思います。もしコードでやるとした場合、

    カスタム投稿タイプ用のウィジェットを設定するため、下記を行いました。

    上記は子テーマを使って、ということですよね。それであれば、子テーマ/sidebar.php を作成し、下記のようなコードを記述するのがわかりやすいのではないでしょうか。

    <?php
    /**
     * @package snow-monkey
     * @author inc2734
     * @license GPL-2.0+
     * @version 8.0.0
     */
    
    use Framework\Helper;
    
    if ( is_post_type_archive( 'review' ) ) {
    	dynamic_sidebar( 'sidebar-review' );
    } else {
    	Helper::get_sidebar_template( 'sidebar' );
    }
    

    (レイアウトを変えないのであれば archive-review.php はなくても良いと思います)

    2
    いいねをした人:
    #105072
    KyoheiForlead
    参加者
    1

    GONSYさん
    キタジマさん

    迅速かつご丁寧にご教授くださり、どうもありがとうございます!
    大変助かり、そして勉強になりました。
    Custom Sidebarsをやってみたところうまく設定できましたので、今回はこちらで進めてみようと思います。
    コードで行う場合も今後のために覚えておきます!!

    それではこちらのトピックは閉じさせていただきます。
    今後ともよろしくお願いいたします。

    1
    いいねをした人:
4件の投稿を表示中 - 1 - 4件目 (全4件中)
  • トピック「カスタム投稿タイプのアーカイブ毎にアーカイブページサイドバーのウィジェットを変えたい」には新しい返信をつけることはできません。

ドキュメント

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

ドキュメント

フォーラム

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

サポートフォーラム

よくあるご質問

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

よくあるご質問

お問い合わせ

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

お問い合わせ

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