Widgets vs. Theme Mods

时间:2017-02-27 作者:TheYaXxE

这可能是一个有点奇怪的问题,但我在开发WordPress主题方面是新手,很难知道何时在定制器中为公司定制主题时使用widget或主题mod。

我之所以感到困惑,是因为我之前一直在处理另外两个主题,其中一个使用主题mod,另一个使用widget来做几乎相同的事情。这将包括添加/更改标题中的徽标以及包含图像和文本的首页信息框等内容。

为了更好地说明我希望能够改变哪些元素,我已经加入了我的首页结构:

enter image description here

The red section 是公司精选的五位客户。

The two boxes 下面是关于该公司的一些信息。

The last grey section 是包含三列的页脚。

所以,当我想要更改每个元素的内容时,哪种方法是最佳实践。主题mod还是widget?

1 个回复
SO网友:kraftner

简而言之:这要看情况而定。

小部件进入小部件区域。但这也意味着,当您创建一个小部件区域时,可以将任何小部件以及任何数量的小部件放在那里。因此,如果您将徽标制作成一个小部件,用户可以在该位置放置20个不同的小部件,包括那些在那里没有真正意义的东西,可能会破坏布局。因此,一般来说,小部件只适合于一般的内容区域,例如边栏。

使用自定义程序时,您可以进行更多的控制,并可以创建一个UI,该UI可以定义更清晰的可行内容。例如,您可以让用户选择一个图像,但他不能将标记云小部件放在那里。

最后,这个问题还有一个历史性的方面:widget在WP中已经存在很长时间了,定制器只是后来才创建的,部分是为了克服widget的限制。

相关推荐

My widgets do not save

每次我保存我的小部件并离开页面时,我的小部件都会消失。侧边栏已完全清空,不会保存任何更改。控制台或PHP日志中没有任何错误。如果我将小部件直接复制并保存在数据库中widgets_text, 它们将被显示,但我仍然无法在侧边栏中添加或删除任何内容。这只发生在我的右侧边栏上,左侧边栏工作正常,但它们都以相同的方式注册。这是我注册侧边栏的方式:function my_widgets_init() { register_sidebar( array ( \'name\'