Displaying Widgets

时间:2015-03-23 作者:andrewdcato

在主题开发期间,我了解如何在functions.php 文件

然而,当谈到在主题中显示小部件时,是否有一种首选的方式来显示它们-primary,使用the_widget() 功能与dynamic_sidebar() 作用

2 个回复
最合适的回答,由SO网友:Pieter Goosen 整理而成

the_widget() 用于在侧栏外部显示特定的小部件。老实说,这个函数没有任何价值,因为您需要对小部件进行硬编码$instance 参数,这意味着每次需要更改某些内容时,都需要手动更改代码。dynamica就这么多了。只需编写一个自定义函数,然后在需要的地方在模板中调用它,就更容易了。它将更快、更易于使用

坚持使用侧栏中的小部件,因为它们是动态的,可以在不接触主题或插件代码的情况下进行更改。我宁愿编写20个侧栏并将它们添加到战略位置,而不是使用一个硬编码的the_widget()

SO网友:jimihenrik

通过使用dynamic_sidebar() 您可以在外观设置的小部件区域中更改/编辑小部件。如果您使用the_widget() 您可以直接将其硬编码到模板,因此需要修改代码以更改显示内容。

两者都有各自的用途。太多的边栏往往会使小部件区域变得混乱,但对于不想弄乱代码的用户(或者如果您经常交换小部件/小部件设置)来说,这是非常好的。

\\u小部件不依赖于侧栏,因此如果您在模板周围使用了许多自定义小部件,例如在页脚中,它也有它的用途。

但我认为,除了可用性方面的好处外,使用其中一种方法与使用另一种方法相比并没有直接的好处。

EDIT: 虽然我同意彼得的观点,但我认为至少在一些边缘案例中,你可以利用the_widget(). 例如,我目前正在从事的一个项目,我制作了一个自定义RSS小部件,用于根据网络范围的文章类型显示图标。(我们有多个链接的网站)。我们在页面底部也有这些RSS提要,它们显示了我们其他网站的内容,当我已经有了一个可以工作的小部件时,我认为用同样的功能来编写自定义函数是没有用的。

是的,我可以使用侧边栏来显示这些小部件,但由于我们有多人更新网站,而且并非所有人都那么精通技术,我认为侧边栏区域最好基本上只有他们需要编辑的容器。

所以我用the_widget 避免重复代码,并使界面与其他管理员保持一致。但正如Pieter所说的那样,你可能最好总是使用wigdets和边栏,因为它们是有意的。

结束

相关推荐

每页完全不同的Functions.php?

是否可以通过条件加载完全不同的函数?i、 函数中的e。php您有一个条件加载在旧函数的include中,然后有另一个条件加载在新函数中?这样做的原因是一个网站正在呈现新的面貌,但只是一页一页,旧的样式和功能很混乱,需要更换,但我不能只是删除它们,因为网站的其余部分将失败。