如何覆盖/定制现有的小部件?

时间:2021-04-19 作者:Andrei Herford

我是Wordpress开发的新手,很难理解如何正确覆盖/自定义现有的小部件。

例如,我在页面上放置了“最近的帖子”小部件。虽然它提供了一些选项来定制它的外观(帖子数量、网格与列表、是否包含图像等),但我还远远不能完全控制它。

例如,在网格布局a中<ul> 使用列出<li> 创建元素。如果我想改用´`结构呢?

图像的样式选项直接添加到HTML输出中,因此不能在自定义CSS中修改。如果我想改用自定义类/样式呢?

Is there any way to customize an existing widget on such a deep level or do I have to add my own widget to achive this?

1 个回复
SO网友:DACrosby

一般来说,没有。许多小部件都有操作/过滤器挂钩,可以覆盖某些部分,但小部件通常不像主题那样可以用子主题覆盖。

一些小部件的编写方式可以覆盖它们,但这是根据具体情况而定的。类似这样的情况,您可以在前面的钩子中声明类,并;覆盖(&Q);原件。

if(!class_exists(\'My_Widget\')) {
    class My_Widget extends WP_Widget {
       // ..
您需要通读相关小部件的源代码,看看作者提供了什么选项(或者找到文档,如果有用的话)。Here\'s the source for WP\'s Recent Post widget as an example.

很可能你的最佳选择是make a new Widget to suit your needs, 如果需要,可以扩展原始文件或复制/粘贴它作为起点。

相关推荐

About wordpress child themes

我对WordPress和儿童主题有一些问题。据我所知,如果我不想在更新主题时失去任何东西,使用子主题是很重要的。我是WordPress的初学者,到目前为止,我一直在使用PageBuilder(管理面板上的板载自定义选项)自定义我的网站,并在“附加CSS”选项中加入几行CSS。所有这些都是在主主题上完成的(只是玩转尝试学习),现在我想开始使用一个儿童主题。问题如下:我不知道我是否可以像通过管理界面设计父主题那样设计我的子主题,或者我是否必须通过文本编辑器(在我的计算机上,然后通过FTP等方式上传)对所有内容