0

我学会了如何添加额外的侧边栏现在我需要弄清楚如何添加一个额外的侧边栏,除了已经显示在主题 Librio (wordpress.org/extend/themes/librio) 中的侧边栏。

我完全不知道去哪里看。该代码是纯粹的混乱,而不是自我解释。

我的 sidebar.php 包含以下代码:

<div id="idontknow">
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('sidebar1') ) : ?>
<?php endif; ?>
</div>

现在,如果我复制并添加相同的代码但使用“sidebar2”,我得到的只是第二个边栏显示在第一个边栏内。

<div id="idontknow">
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('sidebar1') ) : ?>
<?php endif; ?>
</div>

<div id="ireallydont">
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('sidebar2') ) : ?>
<?php endif; ?>
</div>

我不想要那个。我想要并排放置 2 个单独的侧边栏。有人可以帮帮我吗?

我尝试使用 CSS 和 id=leftsidebar 和 id=rightsidebar 过期,但它根本不起作用。

再次澄清一下:我有 2 个侧边栏!我什至在functions.php中得到了正确的代码

if ( function_exists('register_sidebar') )
    register_sidebar(array('name'=>'sidebar1',
    'before_widget' => '<div class="block">',
    'after_widget' => '</div>',
    'before_title' => '<h3 class="widgettitle">',
    'after_title' => '</h3>',
));
register_sidebar(array('name'=>'sidebar2',
    'before_widget' => '<div class="block">',
    'after_widget' => '</div>',
    'before_title' => '<h3 class="widgettitle">',
    'after_title' => '</h3>',
));

问题是,如前所述,第二个新创建的侧边栏显示在第一个侧边栏中。我想修改主题,以便我有 2 个单独的侧边栏。

4

4 回答 4

1

您必须注册第二个侧边栏。

在你的主题文件夹中创建一个文件functions.php(可能这个文件已经存在)然后添加以下代码:

    <?php
        register_sidebar(array('name'=>'sidebar'));
        register_sidebar(array('name'=>'sidebar2'));
    ?>

现在,如果您转到您的 wordpress 管理部分,您应该会看到有 2 个可用的侧边栏,您可以在其中添加小部件。

于 2009-09-09T09:22:06.853 回答
0

您是否将侧边栏 div 放入 librio 的侧边栏 div 中?

换句话说,你sidebar.php看起来像这样吗?

<div id="sidebar">
    <?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('sidebar1') ) : ?>

    <!-- default librio sidebar stuff goes here -->

    <?php endif; ?>

    <div id="sidebar2">
        <?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('sidebar1') ) : ?>

        <!-- second sidebar stuff goes here -->

        <?php endif; ?>
    </div>
</div>

当我这样做时,第二个边栏作为默认 librio 边栏的一部分出现。当我将这些<div id="sidebar2">东西移到外面<div id="sidebar">时,第二个侧边栏内容出现在页面底部。您需要修改 CSS 以将其移动到其他位置。

于 2009-09-09T21:55:13.030 回答
0

这更像是一个 CSS 问题。我已经复制了您的设置并完成了以下操作以使两列正常工作。

我的 sidebar.php 是:

<div id="sidebar">
  <div id="idontknow">
  <?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('sidebar1') ) : ?>
  <?php endif; ?>
  </div>
  <div id="ireallydont">
  <?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('sidebar2') ) : ?>
  <?php endif; ?>
  </div>
</div>

我已经在functions.php中注册了两个侧边栏(正如Dextro所建议的那样)并确认它们都可以工作并在另一个下方显示一个。

然后我在 style.css 中进行了以下宽度更改:

  • 在第 173 行,我将 #content 的宽度更改为 570px
  • 在第 303 行,我改变了

    侧边栏的宽度为 300px

然后我添加了一个新的 CSS 规则:

#sidebar #idontknow,
#sidebar #ireallydont {
    width: 150px;float: left;
}

现在我有两列。您可能想要调整宽度,并且您肯定想要修复侧边栏背景图像。

于 2009-09-09T21:56:18.393 回答
0

您是否尝试过将第二个侧边栏 div 的 id 更改为 id="sidebar2"?如果不查看站点/代码,很难判断,但 CSS 中可能存在导致两个侧边栏重叠的内容。要么,要么第一个没有正确关闭。

于 2009-09-09T18:40:26.530 回答