【问题标题】:When I call one sidebar multiple sidebars appear. How to fix?当我调用一个侧边栏时,会出现多个侧边栏。怎么修?
【发布时间】:2011-06-17 01:02:37
【问题描述】:

我有一个 functions.php 文件,我在其中注册了所有边栏。

在 sidebar.php 文件中我有这个

<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('Home Page') ) : ?>
<?php endif; ?>

<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('Blog Page') ) : ?>
<?php endif; ?>

那我就叫它

 <?php get_sidebar('Home Page'); ?>

但博客页面侧边栏也出现了。怎么办?

编辑: 等等,我需要为我的所有侧边栏创建一个页面吗?这就是它不起作用的原因吗?

这将是很多页面,还有其他方法可以解决这个问题吗?

【问题讨论】:

    标签: wordpress


    【解决方案1】:

    我这样做略有不同,我这样做:

    这在我的functions.php中:

        // header
        register_sidebar( array (
        'name' => 'Header Widget Area',
        'id' => 'header_widget_area',
        'before_widget' => '<li id="%1$s" class="widget-container %2$s">',
        'after_widget' => "</li>",
        'before_title' => '<h3 class="widget-title">',
        'after_title' => '</h3>',
        ) );
    
        // Single Post Sidebar
        register_sidebar( array (
        'name' => 'Single Widget Area',
        'id' => 'single_widget_area',
        'before_widget' => '<li id="%1$s" class="widget-container %2$s">',
        'after_widget' => "</li>",
        'before_title' => '<h3 class="widget-title">',
        'after_title' => '</h3>',
      ) );
    

    然后我在使用它们的任何模板中都这样称呼它们:

    <?php if ( is_sidebar_active('header_widget_area') ) : ?>
            <?php dynamic_sidebar('header_widget_area'); ?>
    <?php endif; ?>
    

    如果您需要更多帮助,请告诉我。

    【讨论】:

      【解决方案2】:

      命令 dynamic_sidebar() 实际上输出指示的侧边栏。当您调用 get_sidebar 时,它会显示这两个侧边栏,因为在条件下,侧边栏会被输出。

      你没有走上你想要的正确道路。

      你会想要简单地拥有

      get_sidebar();
      

      在您的模板中。

      然后在 sidebar.php 文件中,您将执行条件来确定何时显示什么。例如,像这样的东西......

      if ( is_page() ) :
          dynamic_sidebar('page-sidebar');
      elseif ( is_post() ) :
          dynamic_sidebar('post-sidebar');
      endif;
      

      如果您仍然遇到问题,请告诉我,我可以提供更多详细信息/更好更详细的解决方案示例

      【讨论】:

        猜你喜欢
        • 2021-02-04
        • 1970-01-01
        • 2019-10-13
        • 2017-10-13
        • 2021-09-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多