Wordpress注册新的补充工具栏问题

时间:2013-12-13 19:13:37

标签: php wordpress sidebar

我有一个关于Wordpress的问题注册了第二个侧边栏,我将在我的网站上使用一些新的子菜单。(仅限特定页面)

我读了如何注册新的补充工具栏!在下面代码的前3行中,你看到我的主题function__php中保存了什么,它似乎有用,如果是正确的话我不是shure,但后端现在向我展示了widget-sector中的2个侧边栏区域。没有我记得的)

这包括:

**// If Dynamic Sidebar Exists
if (function_exists('register_sidebars'))
 register_sidebars(2);**
{
// Define Sidebar Widget Area 1
register_sidebar(array(
    'name' => __('Widget Area 1', 'html5blank'),
    'description' => __('Description for this widget-area...', 'html5blank'),
    'id' => 'widget-area-1',
    'before_widget' => '<div id="%1$s" class="%2$s">',
    'after_widget' => '</div>',
    'before_title' => '<h3>',
    'after_title' => '</h3>'
));

// Define Sidebar Widget Area 2
register_sidebar(array(
    'name' => __('Widget Area 2', 'html5blank'),
    'description' => __('Description for this widget-area...', 'html5blank'),
    'id' => 'widget-area-2',
    'before_widget' => '<div id="%1$s" class="%2$s">',
    'after_widget' => '</div>',
    'before_title' => '<h3>',
    'after_title' => '</h3>'
));

// Define Sidebar Widget Area 3
register_sidebar(array(
    'name' => __('Widget Area 3', 'html5blank'),
    'description' => __('Description for this widget-area...', 'html5blank'),
    'id' => 'widget-area-3',
    'before_widget' => '<div id="%1$s" class="%2$s">',
    'after_widget' => '</div>',
    'before_title' => '<h3>',
    'after_title' => '</h3>'
));

}

现在,我有点困惑,因为在我的网站的第一个设置中有一个小部件区域1!持有头部菜单,然后是小部件区域2!它包含标准主题侧边栏: serach 字段和一些小部件文字:P。

现在我不知道如何让第二个侧边栏完全正确注册以及如何在复制的sidebar2.php中编程php

见这里:

<!-- Sidebar -->
<aside id="sidebar">

<div class="sidebar-widget3">
<?php if(!function_exists('dynamic_sidebar2') || !dynamic_sidebar('widget-area-3')) ?>
</div>      
</aside>
<!-- /Sidebar -->

我应该将小部件(搜索字段和文本)放在侧边栏区域的后端,还是应该将它放在小部件区域?

这对我来说是一个普遍理解的问题,我希望有人可以帮助我,因为我是一个血腥的初学者。

tnx很多。![这是实际的设置,这让我感到困惑,我希望尽快修复这个步骤......

1 个答案:

答案 0 :(得分:0)

首先,删除此行:register_sidebars(2);**
这是不必要的,可能搞砸了。此外,您的函数名为register_sidebar s ,最后带有“s”。既然你正在使用html5blank(我也是),我可以看出这是错误的。

我的功能看起来像这样,它工作得很好。只需复制register_sidebar数组即可获得所需的多个侧边栏。当谈到“我应该把这个和那个放在哪里”时,这取决于你。

if (function_exists('register_sidebar')) {
    register_sidebar(
        array(
            'name'          => __('Widget Area 1', 'html5blank'),
            'description'       => __('Description', 'html5blank'),
            'id'            => 'widget-area-1',
            'before_widget'     => '<div id="%1$s" class="%2$s">',
            'after_widget'      => '</div>',
            'before_title'      => '<h3>',
            'after_title'       => '</h3>'
        )
    );
}

说到sidebar.php,出于某种原因你已经调用它dynamic-sidebar2,这是一个不存在的函数 - 除非你已经创建它。
只需将其更改为:

<div class="sidebar-widget">
    <?php if(!function_exists('dynamic_sidebar') || !dynamic_sidebar('widget-area-1')) ?>
</div>

<div class="sidebar-widget">
    <?php if(!function_exists('dynamic_sidebar') || !dynamic_sidebar('widget-area-2')) ?>
</div>

<div class="sidebar-widget">
    <?php if(!function_exists('dynamic_sidebar') || !dynamic_sidebar('widget-area-3')) ?>
</div>

我希望这能回答你的问题。如果没有,请发表评论,我会尝试修改我的答案。