Wordpress注册一个新的边栏问题


Wordpress Register a new Sidebar Questions

我有一个关于Wordpress的问题,为一个新的子菜单注册第二个侧边栏,我将在我的网站上发布一些博客文章。(仅在特定页面上)

我读了如何注册新边栏!在下面代码的前3行中,你可以看到我的主题函数__php中保存了什么,它似乎可以工作,如果是正确的,我不会说,但后端现在向我显示了小部件部分的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!包含standart主题边栏:serach字段和一些宽度文本:P。

现在我不知道如何使第二个侧边栏完全正确地注册,以及如何在复制的侧边栏2.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很多。![这是实际的设置,这让我很困惑,我喜欢尽快修复这些步骤…

首先,删除此行:register_sidebars(2);**
这是不必要的,可能会搞砸。此外,您的函数名为register_sidears,末尾带有"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>

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