ちょっと私はセットページのための別のサイドバーを持つために何を追加する必要があるのか疑問に思っていますか?
このページのカテゴリ(というPatientEdu)を作成しました。
そしてページがカテゴリにリンクされていることを確認してください。
しかし、それはまだ他のカテゴリのサイドバーを使用しているようです(私もそれがどこにあるのかわからない)?
それで、どんな助けでも素晴らしいでしょう!
UPDATE
私の現在のsidebar.phpコードはこれです:
<?php if (is_active_sidebar('default-sidebar')) : ?>
<div id="sidebar">
<h2>Default Sidebar</h2>
<?php dynamic_sidebar('default-sidebar'); ?>
</div>
<?php endif; ?>
そして機能コード:
アップデート2
サイドバーを作成するためにsingle.phpページを使用しているように見えますか?
<?php if (have_posts()) : ?>
<div id="sidebar">
<h3><?php echo get_cat_name(CAT_DOCTORS); ?></h3>
<ul class="info-list">
<?php while (have_posts()) : the_post(); ?>
<li <?php if ($post_id == get_the_ID()) {echo 'class="active"';} ?>>
<a href="<?php the_permalink(); ?>">
<span><?php the_title(); ?></span>
</a>
</li>
<?php endwhile; ?>
</ul>
</div>
<?php endif; ?>
これをテーマのfunctions.php
ファイルに貼り付けて、新しいサイドバーを登録します。
register_sidebars( 'id' => 'patientedu' );
sidebar-patientedu.php
という名前のファイルを作成し、その中に以下を貼り付けます。
<?php if (is_active_sidebar('patientedu')) : ?>
<div id="sidebar">
<h2>PatientEdu Sidebar</h2>
<?php dynamic_sidebar('patientedu'); ?>
</div>
<?php endif; ?>
次にサイドバーを表示させたい場所にこれを貼り付けます。
<?php get_sidebar('patientedu'); ?>
最初に、WordPressはあなたのテンプレートのサイドバーが定義されていなければ自動的に作成します(テーマにsidebar.php
を作成することによって)。
次に、register_sidebars
ファイルで functions.php
を使用して、複数のサイドバーを登録できます。
テンプレート関数 get_sidebar
は、取得するサイドバーファイルを決定するパラメータ$name
を受け入れます。たとえば、テーマフォルダにsidebar-doctors.php
という名前のファイルがある場合は、テーマ内で<?php get_sidebar('doctors'); ?>
を呼び出して医師にサイドバーを表示させることができます。
これらのテクニックを一緒に使用して、さまざまなテンプレートページ用にさまざまなサイドバーを作成できます。
それとも!さらに一歩進んで、次のコードを追加して、カテゴリごとにsidebar-<cat_slug>.php
を作成します。その名前のphpファイルがない場合、WordPressはデフォルトでそれ自身のsidebar.php
になります
<?php
if (is_category( ))
{
$cat = get_query_var('cat');
$yourcat = get_category ($cat);
get_sidebar($yourcat->slug);
}
?>
私はこれが助けになることを願っています、そして私はあなたの質問のマークを完全に見逃していなかったことを。