WordPress基础教程

WordPress中侧边栏Sidebars注册自定义

发布时间:2022-02-22 11:55:06

本文作者:

最后更新时间为 2022年2月22日

什么是Sidebars

侧边栏是您的主题的任何小部件区域。 小部件区域是您主题中的地方,用户可以添加自己的小部件。 您不需要在主题中包含侧边栏,但包括侧栏意味着用户可以通过定制程序或窗口小部件管理面板向窗口小部件区域添加内容。

小部件可以用于各种目的,从列出最近的帖子到进行实时聊天。

提示:名称“sidebars”来自于小部件区域通常在漫长的条带中创建到博客的左侧或右侧的时间。 今天,边栏已经超越了原来的名字。 它们可以包含在您网站的任何地方。 将边栏视为包含小部件的任何区域。

注册Sidebar

要使用侧边栏,您必须在functions.php中注册它们。

要开始,register_sidebar()有几个参数应该始终被定义,不管它们是否被标记为可选。这些包括x,y和z。

  • name – 您的侧边栏的名称。这是用户将在“小部件”面板中看到的名称。
  • id – 必须是小写。您将使用dynamic_sidebar函数将其称为主题。
  • description – 侧边栏的说明。这也将显示在管理窗口小部件面板中。
  • class – 要分配给窗口小部件的HTML的CSS类名称。
  • before_widget – 在每个窗口小部件之前放置的HTML。
  • after_widget – 每个窗口小部件后面放置的HTML。应该用于从before_widget关闭标签。
  • before_title – 放置在每个窗口小部件的标题之前的HTML,例如标题标签。
  • after_title – 每个标题后放置的HTML。应该用于从before_title关闭标签。

要注册边栏,我们使用register_sidebar和widgets_init函数。

function themename_widgets_init() {
    register_sidebar( array(
        'name'          => __( 'Primary Sidebar', 'theme_name' ),
        'id'            => 'sidebar-1',
        'before_widget' => '<aside id="%1$s" class="widget %2$s">',
        'after_widget'  => '</aside>',
        'before_title'  => '<h1 class="widget-title">',
        'after_title'   => '</h1>',
    ) );
 
    register_sidebar( array(
        'name'          => __( 'Secondary Sidebar', 'theme_name' ),
        'id'            => 'sidebar-2',
        'before_widget' => '<ul><li id="%1$s" class="widget %2$s">',
        'after_widget'  => '</li></ul>',
        'before_title'  => '<h3 class="widget-title">',
        'after_title'   => '</h3>',
    ) );
}
add_action( 'widgets_init', 'themename_widgets_init' );

注册边栏告诉WordPress,您将在Appearance> Widgets中创建一个新的小部件区域,用户可以将其小部件拖动到其中。 注册侧边栏有两种功能:

  • register_sidebar()
  • register_sidebars()

第一个可以让您注册一个侧边栏,第二个可以让您注册多个侧边栏。

提示:建议您单独注册侧边栏,因为它可以为每个侧边栏提供唯一和描述性的名称。

示例

对于页眉和页脚中的小部件区域,将其标题为“标题小部件区域”和“页脚小部件区域”,而不是“边栏1”和“边栏2”(这是默认值)。 这提供了侧边栏所在位置的有用描述。

以下代码,添加到functions.php注册一个侧边栏:

<?php
add_action( 'widgets_init', 'my_register_sidebars' );
function my_register_sidebars() {
    /* Register the 'primary' sidebar. */
    register_sidebar(
        array(
            'id'            => 'primary',
            'name'          => __( 'Primary Sidebar' ),
            'description'   => __( 'A short description of the sidebar.' ),
            'before_widget' => '<div id="%1$s" class="widget %2$s">',
            'after_widget'  => '</div>',
            'before_title'  => '<h3 class="widget-title">',
            'after_title'   => '</h3>',
        )
    );
    /* Repeat register_sidebar() code for additional sidebars. */
}
?>

代码执行以下操作:

  • register_sidebar – 告诉WordPress你正在注册边栏
  • 'name' => __( 'Primary Widget Area', 'mytheme' ), – 是将出现在外观>小部件中的小部件区域的名称
  • 'id' => 'sidebar-1' – 在侧边栏分配一个ID。 WordPress使用“id”将小部件分配给特定的侧边栏。
  • before_widget/after_widget – 分配给侧边栏的小部件的包装元素。 “%1 $ s”和“%2 $ s”应该分别保留在id和class中,以便插件可以使用它们。 默认情况下,WordPress将其设置为列表项,但在上述示例中,它们已被更改为div。
  • before_title/after_title – 小部件标题的包装元素。 默认情况下,WordPress将其设置为h2,但使用h3使其更具语义。

一旦您的侧栏被注册,您可以在主题中显示。

在主题中显示侧边栏

现在您的侧边栏已注册,您将要在主题中显示。 为此,有两个步骤:

  • 创建sidebar.php模板文件,并使用dynamic_sidebar函数显示边栏
  • 使用get_sidebar函数加载主题

创建侧栏模板文件

侧边栏模板包含您的侧边栏的代码。 WordPress识别文件sidebar.php和名称为sidebar-{name} .php的任何模板文件。 这意味着您可以在自己的模板文件中的每个侧边栏中组织文件。

示例:

  1. 创建 sidebar-primary.php
  2. 添加以下代码:
<div id="sidebar-primary" class="sidebar">
    <?php dynamic_sidebar( 'primary' ); ?>
</div>

请注意,dynamic_sidebar采用$index的单个参数,可以是边栏的名称或ID。

加载你的侧栏

要在您的主题中加载您的侧边栏,请使用get_sidebar函数。 这应该被插入到你想要侧栏显示的模板文件中。 要加载默认的sidebar.php,请使用以下命令:

<?php get_sidebar(); ?>

要显示主侧边栏,请将$name参数传递给函数:

<?php get_sidebar( 'primary' ); ?>

自定义您的侧栏

有很多方法可以自定义您的侧边栏。 这里有些例子:

显示默认侧栏内容

如果用户尚未向边栏添加任何小部件,则可能希望显示内容。 为此,您可以使用is_sidebar_active()函数检查边栏是否有任何小部件。 这接受$index参数,该参数应该是要检查的边栏的ID。

此代码检查边栏是否处于活动状态,如果不显示某些内容:

<div id="sidebar-primary" class="sidebar">
    <?php if ( is_active_sidebar( 'primary' ) ) : ?>
        <?php dynamic_sidebar( 'primary' ); ?>
    <?php else : ?>
        <!-- Time to add some widgets! -->
    <?php endif; ?>
</div>

显示默认窗口小部件

您可能希望您的侧边栏默认填充一些小部件。 例如,显示搜索,存档和元小部件。 为此,您将使用:

<div id="primary" class="sidebar">
    <?php do_action( 'before_sidebar' ); ?>
    <?php if ( ! dynamic_sidebar( 'sidebar-primary' ) ) : ?>
        <aside id="search" class="widget widget_search">
           <?php get_search_form(); ?>
        </aside>
        <aside id="archives" class"widget">
            <h1 class="widget-title"><?php _e( 'Archives', 'shape' ); ?></h1>
            <ul>
                <?php wp_get_archives( array( 'type' => 'monthly' ) ); ?>
            </ul>
        </aside>
        <aside id="meta" class="widget">
            <h1 class="widget-title"><?php _e( 'Meta', 'shape' ); ?></h1>
            <ul>
                <?php wp_register(); ?>
                <li><?php wp_loginout(); ?></li>
                <?php wp_meta(); ?>
            </ul>
        </aside>
   <?php endif; ?>
</div>

小兽wordpress凭借多年的wordpress企业主题制作经验,坚持以“为用户而生的wordpress主题”为宗旨,累计为10万多家客户提供品质wordpress建站服务,得到了客户的一致好评。我们一直用心对待每一个客户,我们坚信:“善待客户,将会成为终身客户”。小兽wordpress能坚持多年,是因为我们一直诚信。我们明码标价(wordpress做网站需要多少钱),从不忽悠任何客户,我们的报价宗旨:“拒绝暴利,只保留合理的利润”。如果您有网站建设、网站改版、网站维护等方面的需求,请立即咨询右侧在线客服或拨打咨询热线:18907337671,我们会详细为你一一解答你心中的疑难。

相关文章

为什么选择小兽WordPress

哪怕不计成本的时间投入,也绝不辜负任何一个客户。
成就客户成就自我的同时,把这个世界变得再美好一点。

我们的故事

小兽WordPress是2011年开始接触互联网,在这期间用WordPress搭建了一个博客叫小兽WordPress,专门学习WordPress建站。

我们的使命

我们希望用WordPress这款优秀的建站程序帮助每个人搭建一个属于自己的网站,高效率低成本做好互联网营销。

我们的文化

我们专注于把客户的事情做好并且做对,这意味着我们在做决定时会考虑到结果,最重要的是,我们力求真实。

我们的未来

我们将在不久的未来成为国内最好的WordPress工作室,小兽WordPress希望和每一个客户成为朋友,一起见证这个美好未来。

为什么选择小兽WordPress

告诉我你是谁,为你量身定做建站方案

我们深知不同的人做网站的阶段不一样,有的是新手,有的是老手。
我们清楚不同的人做网站的目的不一样,有的是展示,有的是营销。

如何让线上业务更上一层楼

还没有WordPress网站

还没有WordPress网站

不管你从事什么行业,WordPress都会为你提供一个专业的主题模板。在WordPress市场上有成千上万的免费主题,适合很多中小企业。

查看所有模板
已经有WordPress网站

已经有WordPress网站

小兽WordPress诚邀你一起学习WordPress,愿与各方携手升级改善您的WordPress网站,一起交流网站加速,网站优化等问题。

马上交个朋友
微信联系
chat 扫码联系
模板建站
挑选模板
网站定制
免费诊断
咨询热线
咨询热线

189-0733-7671

返回顶部