1

ではWordpress、サイドバーを 2 つ作りたいと思います。1 つはコンテンツの左側に、もう 1 つはコンテンツの右側 (デフォルトのサイドバー) に表示されます。そのために、twentyeleven 子テーマを少しカスタマイズしました。functions.php で、この変更を行いました

 register_sidebar( array(
    'name' => __( 'Left Hand Sidebar', 'buygames' ),
    'id' => 'sidebar-left',
    'before_widget' => '<aside id="%1$s" class="widget %2$s">',
    'after_widget' => "</aside>",
    'before_title' => '<h3 class="widget-title">',
    'after_title' => '</h3>',
  ) );

次に、sidebar-page.php にこのコードを追加しました

 <div id="left-sidebar">
  <?php dynamic_sidebar( 'sidebar-left' ); ?>
  </div><!--#left-sidebar-->

コードの直後get_header();<div id="primary">....</div>. これはうまく機能していますが、これは間違った方法だと思います。これを行うと、ハードコーディングされます。それで、ハードコーディングをせずにこれを行うための良い方法を教えてくれる人がいますか? ヘルプや提案は非常に高く評価されます。

4

1 に答える 1

1

両方のサイドバーを子テーマの sidebar.php に追加して、CSS ごとに配置できます。

// your sidebar
<div id="left-sidebar">
  <?php dynamic_sidebar( 'sidebar-left' ); ?>
</div><!--#left-sidebar-->
// original sidebar
<div id="sidebar">
  <?php dynamic_sidebar( 'sidebar' ); ?>
</div><!--#sidebar-->

子テーマの sidebar.php が元のサイドバーを上書きするため、必ず両方のサイドバーを追加してください。

于 2012-10-11T10:12:39.347 に答える