web-dev-qa-db-ja.com

異なるページへのサイドバーリンク

ちょっと私はセットページのための別のサイドバーを持つために何を追加する必要があるのか​​疑問に思っていますか?

このページのカテゴリ(というPatientEdu)を作成しました。

patcat

そしてページがカテゴリにリンクされていることを確認してください。

patcat2

しかし、それはまだ他のカテゴリのサイドバーを使用しているようです(私もそれがどこにあるのかわからない)?

parcat3

それで、どんな助けでも素晴らしいでしょう!

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; ?>

そして機能コード:

function

アップデート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; ?>
1
StealthRT

これをテーマの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'); ?>
1
developdaly

最初に、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);
}
?>

私はこれが助けになることを願っています、そして私はあなたの質問のマークを完全に見逃していなかったことを。

1
Alex Lane