特定のカスタム投稿タイプのみ違うウィジェットエリア(サイドバー)を設定したい

0
Who liked: No user
  • このトピックには3件の返信、2人の参加者があり、最後にakosanにより1年、 7ヶ月前に更新されました。
4件の投稿を表示中 - 1 - 4件目 (全4件中)
  • 投稿者
    投稿
  • #121814
    akosan
    参加者
    31

    【お使いの Snow Monkey のバージョン】バージョン: 20.0.1
    【お使いの Snow Monkey Blocks のバージョン】バージョン 19.1.0
    【お使いの Snow Monkey Editor のバージョン】バージョン 9.2.1
    【お使いのブラウザ】chrome
    【当該サイトのURL】https://sora-sanpo.com/_lib/instructor/home/

    ### 実現したいこと
    目的:同じWordpress内に受講生向けのページ群を作りたい。
    そのために特定のカスタム投稿だけ違うサイドバーを表示させたい。

    プラグインCustom Post Type UIでカスタム投稿タイプを作成した。
    name: instructor

    例えばこのページです。

    できればMy snow monkeyで行いたいと思っております。

     

    ### 発生している問題
    特定のカスタム投稿タイプに違うサイドバーを表示できない

    ### 試したこと
    ・プラグインの使用

    こちらの記事を参考に、Custom Sidebarsをインストールしました。
    Classic Widgetsがないと動かないとのことだったので、そちらもインストール。

    設定しましたが、なぜか全サイドバーが変更されてしまい解決できませんでした。

    ・過去フォーラムの検索

     

    お手数ですがご教示いただけると幸いです。

    0
    Who liked: No user
    #121852
    アバター画像キタジマ タカシ
    参加者
    2417

    コード書いてみます!

    1
    Who liked:
    #121853
    アバター画像キタジマ タカシ
    参加者
    2417

    下記、「news」というカスタム投稿タイプの場合の例です。My Snow Monkey プラグインか子テーマの functions.php にコードを追加してみてください。

    // カスタム投稿タイプ用のウィジェットエリアを登録
    add_action(
    	'widgets_init',
    	function() {
    		register_sidebar(
    			array(
    				'id'            => 'my-news-sidebar',
    				'name'          => 'ニュース用',
    				'before_widget' => '<div id="%1$s" class="c-widget %2$s">',
    				'after_widget'  => '</div>',
    				'before_title'  => '<h2 class="c-widget__title">',
    				'after_title'   => '</h2>',
    			)
    		);
    	}
    );
    
    add_action(
    	'wp_body_open',
    	function() {
    		// 「カスタム投稿タイプ詳細かつカスタム投稿アーカイブページではないとき」は何もしない
    		if ( ! is_singular( 'news' ) && ! is_post_type_archive( 'news' ) ) {
    			return;
    		}
    
    		// サイドバーからデフォルトのウィジェットエリアを外す
    		remove_action( 'snow_monkey_sidebar', 'snow_monkey_sidebar_add_sidebar_widget_area', 20 );
    
    		// カスタム投稿タイプ用のウィジェットエリアをサイドバーに追加
    		add_action(
    			'snow_monkey_sidebar',
    			function() {
    				?>
    <div class="l-sidebar-widget-area"
    	data-is-slim-widget-area="true"
    	data-is-content-widget-area="false"
    	>
    	<?php dynamic_sidebar( 'my-news-sidebar' ); ?>
    </div>
    				<?php
    			}
    		);
    	}
    );
    1
    Who liked:
    #121869
    akosan
    参加者
    31

    キタジマさん

    無事に作成できました!

    お忙しい所ありがとうございました。

    解決したのでトピックを閉じさせていただきます。

    1
    Who liked:
4件の投稿を表示中 - 1 - 4件目 (全4件中)
  • トピック「特定のカスタム投稿タイプのみ違うウィジェットエリア(サイドバー)を設定したい」には新しい返信をつけることはできません。

ドキュメント

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

ドキュメント

フォーラム

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

サポートフォーラム

よくあるご質問

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

よくあるご質問

お問い合わせ

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

お問い合わせ

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