专栏首页一丘一壑Genesis框架从入门到精通(13): 小部件函数

Genesis框架从入门到精通(13): 小部件函数

Genesis Explained系列中的上一篇文章是关于配置项函数的,并演示了一些用于从数据库中检索自定义字段和主题选项的重要函数。本文是关于 genesis/lib/functions/widgetize.php 文件的。 以下是文件中所有函数的列表:

在我们深入研究之前,我想先讨论一些名词术语。

侧边栏(Sidebar)

WordPress中的侧边栏术语是指主题中任何可以用于添加窗口小部件的部分。狭义的Sidebar通常就是指“侧边栏”,这也就是这个术语的原意,但是越来越多的高级主题把所有区域都当作侧边栏来使用。它们可能出现在网站头部区、页面内容区、侧边栏区或页脚区。有些人通常会把这些称作“小部件”,但这不准确,可能导致混淆。可以把它们叫做侧边栏或小部件区域。

侧边栏有几个重要部分。侧边栏名称,ID,小部件之前和之后,以及小部件的标题之前和标题之后。我们稍后会详细讨论这些内容。

窗口小部件(Widget)

小部件要放入侧边栏内。在WordPress中注册小部件需要扩展一个特殊的类,一个小部件包括有两个主要部分。后台和前端。在后台,可以将小部件拖动到侧边栏中。小部件放入侧边栏后,你还可以对其进行各种设置。如果窗口小部件无法找到它应该归属的侧边栏位置,则会被归入到非活动窗口小部件。当ID发生变化时会发生这种情况。后面我将再次讨论这个问题。前端就是是网站上实际出现的内容。

function genesis_register_widget_area( $args )

此函数只有一个参数,但它是一个数组值。内置默认值如下:

这里有一个过滤器“genesis_register_sidebar_defaults”可你让你更改任何默认值。如果你想要一个不同的标题或小部件区域,这是非常方便的。默认传递值被解析后,就会用register_sidebar()注册一个新的侧边栏。当然你可以直接使用register_siderbar()函数,但让我们看看Genesis函数的效率如何 。

两种方法都会创建相同的侧边栏,但Genesis的函数需要的信息要少得多。唯一的要求是名称和ID。你甚至可以省略ID,但我不推荐这么做。如果你的小部件有ID,那么它会呆在它该呆的地方。否则,如果侧边栏的顺序发生变化,那么你的窗口小部件将移动到其他侧边栏或非活动窗口小部件。

ID应为小写且没有空格。如果你想使用空格,那就在里面放一个“ – ”。这很重要,因为这个ID会被用作html中的ID,因此需要符合html标准。另外,如果有空格,WordPress可能会跟踪不到你的小部件。

当然,如果你想创建一个特殊侧边栏,可以更改默认值。

你可以通过取消注册来删除任何默认侧边栏。这是通过unregister_sidebar()函数完成的。只需将它放在您的functions.php文件中即可删除辅助侧边栏:

unregister_sidebar( 'sidebar-alt' );

当然,这在布局选项中还会保留。要删除它们,你需要删除布局中的选项。我将在下一次涉及layout.php文件时讨论这个问题。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Genesis框架从入门到精通(1):什么是框架?

    WordPress主题框架Genesis的工作原理可能会让很多人感到困惑不解,这导致开发者在开始用Genesis框架时可能会一脸蒙逼,无所适从。

    丘壑
  • Genesis框架从入门到精通(11): 图像函数

    Genesis Explained Image Functions

    丘壑
  • Genesis框架从入门到精通(14): 布局函数

    正如我之前在Genesis Explained系列文章中所承诺的那样,今天将要填 genesis/lib/functions/layout.php 这个文件的坑...

    丘壑
  • 带你认识 flask 用户登录

    在第四章中,用户模型设置了一个password_hash字段,到目前为止还没有被使用到。这个字段的目的是保存用户密码的哈希值,并用于验证用户在登录过程中输入的密...

    公众号---人生代码
  • 智能机器的现实风险

    当人们问我是干什么的,我常常对回答的深度感到困惑。说“人工智能”我很满意,但太宽泛,而说“图像处理”可能又太具体。然而,一听到接下的来的毫不相干的问题我总是气不...

    用户1908973
  • 基于django的视频点播网站开发-step11-后台用户管理功能

    这是一个普通的视图类,通过get()和post()来完成用户添加的功能,get里面负责页面的展示,post里面负责逻辑处理。在get中,初始化form为User...

    山东程序员
  • laravel 5.3 单用户登录简单实现方法

    当前用户只能在一个地方登录,即同一账号不能再2个以上窗口登录,后登录者踢出前登录者。

    砸漏
  • 编译kubernetes源码

    定制kubernetes源码的前提是需要知道如何编译kubernetes,我们需要掌握编译整个工程以及编译脚本具体做了哪些事以及如何编译单个组件等

    sealyun
  • Python基础项目实战:处理图片实现像素点的访问

    为大家介绍一个利用Python处理图片来实现对像素点的访问,在这里你可以进行很多的操作,比如图片灰化,你可以改变图片的RGB属性,如果单单用Image.open...

    一墨编程学习
  • win10系统黑屏提示reboot and select p怎么办

    win10系统黑屏提示reboot and select proper boot device怎么办?不管是什么版本的Windows系统都会出现该错误提示,这是...

    牛肉面

扫码关注云+社区

领取腾讯云代金券

,,