【閲覧くださっている皆様へ】URLが変わりました。一部転送が完了していない内部リンク先があります。「404 Not Found お探しのページは見つかりませんでした。」という表示になる場合は、"https://bits-lifestyle.com/jigaku-study/●●"から、"https://study.bits-lifestyle.com/●●"へ書き換えてアクセスくださいますよう、お願いいたします。ご迷惑をおかけいたします。

 
スポンサーリンク
ワードプレス&PHPの困ったを解決!

複数のサイドバーを作り、使い分けたい

ワードプレス

困ったこと

「レシピ」というカスタム投稿ページを新設しました。そのためのサイドバーを新しく作りたいのですが、ウィジェットとかもかかわってくるのでどうしたらよいか調べながら作りました。

解決した方法

1、新しいサイドバーのテンプレートの作成

①既存の「sidebar.php」をFTPサーバ等で複製し、名前を変える。例)「sidebar-2.php」

➁新しく作った「sidebar-2.php」をカスタム投稿「レシピ」用に修正。
※テーマエディターで修正可能です。

ウィジェットを使用する場合は、 <?php dynamic_sidebar()
という部分がもとのテンプレートにあると思いますので、
「sidebar-2.php」 の方は下記のように書き換えてください。

<?php dynamic_sidebar('Side Widget 2'); ?>

すると、サイドバー用のテンプレートが2種類できます。

2、function.phpの書き換え

➂次に「function.php」の「register_sidebar」から始まるコードを下記に書き換えます。

function bitsbits_widgets_init() {
	register_sidebars( 2,array(
		'name'          => esc_html__( 'Sidebar%d', 'bitsbits' ),
		'id'            => 'sidebar-%d',
		'description'   => esc_html__( 'Add widgets here.', 'bitsbits' ),
		'before_widget' => '<section id="%1$s" class="widget %2$s">',
		'after_widget'  => '</section>',
		'before_title'  => '<h3 class="widget-title">',
		'after_title'   => '</h3>',
	) );
}
add_action( 'widgets_init', 'bitsbits_widgets_init' );

bitsbitsというのは、私が使っているスターターテーマの「underscores_s」用の名前ですので無視してください。赤いマーカー部分を修正すれば大丈夫です。
※「 %d 」はサイドバーの個数を増やすと名前もその数字になるようにするコードです。この場合、 Sidebar%d はSidebar2となります。


管理画面 → 外観 → ウィジェット

sidebar2が現れました!


3、表示させたいページのテンプレートの書き換え

⑤表示したいテンプレートのサイドバーの名前を書き換えます。

<?php get_sidebar(); ?>

<?php get_sidebar(2); ?>

参考にしたサイト

WP Twitter Auto Publish Powered By : XYZScripts.com
タイトルとURLをコピーしました