我学会了how to add additional sidebars现在我需要弄清楚如何在主题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>
我不希望这样。我想要两个单独的侧边栏。有人可以帮帮我吗,好吗?
我尝试使用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>',
));
问题是,如上所述,第二个新创建的侧边栏显示在第一个侧边栏内。我想修改主题,以便我有两个单独的侧边栏。
答案 0 :(得分:1)
您必须注册第二个侧边栏。
在主题文件夹中创建文件 functions.php (可能此文件已存在),添加以下代码:
<?php
register_sidebar(array('name'=>'sidebar'));
register_sidebar(array('name'=>'sidebar2'));
?>
现在,如果您转到wordpress管理部分,您应该会看到有两个可用于添加小部件的侧边栏。
答案 1 :(得分:0)
您是否尝试将第二个侧边栏div的ID更改为id =“sidebar2”?没有看到网站/代码就很难分辨,但是CSS中可能存在导致两个侧边栏重叠的东西。要么是,要么第一次没有正确关闭。
答案 2 :(得分: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以将其移动到其他位置。
答案 3 :(得分: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中进行了以下宽度更改:
然后我添加了一个新的CSS规则:
#sidebar #idontknow,
#sidebar #ireallydont {
width: 150px;float: left;
}
现在我有两个栏目。您可能需要调整宽度,并且您肯定想要修复侧边栏背景图像。