如何为Divi WordPress主题添加自定义模块?http://www.elegantthemes.com/gallery/divi/
原始模块创建在 * main-moduls.php * 中
示例:
class ET_Builder_Module_Gallery extends ET_Builder_Module { .... }
但是ET_Builder_Module
类在我的插件或theme * functions.php * 中无法访问。
如何为Divi WordPress主题添加自定义模块?http://www.elegantthemes.com/gallery/divi/
原始模块创建在 * main-moduls.php * 中
示例:
class ET_Builder_Module_Gallery extends ET_Builder_Module { .... }
但是ET_Builder_Module
类在我的插件或theme * functions.php * 中无法访问。
7条答案
按热度按时间nhn9ugyo1#
大多数其他解决方案都太复杂了。最简单的方法是在divi特定的action钩子
et_builder_ready
中加载自定义模块,如下所示:你可以在github上找到完整的演示代码。沿着如何在全新的Divi 3前端构建器中工作的一些说明:
https://github.com/stracker-phil/divi3-vb-custom-modules/
tquggr8v2#
在下面的functions.php文件中。包含文件(我称之为custom-modules.php)将是一个扩展ET_Builder_Module(与WP_Widget非常相似)的类。只需从Divi>> includes>>builder>> main-modules.php打开文件。使用任何先前存在的模块作为新模块的示例或基础。复制并粘贴到您的自定义-modules.php。新的类名,根据需要进行编辑等。
agyaoht73#
**重要提示:**自定义模块的slug * 必须 * 包含字符串
et_pb_
,否则会被函数et_pb_allowed_modules_list()
过滤掉。我可以使用以下代码添加一个新的Divi模块(匿名函数需要PHP 5.3+):
在包含的文件中,从
wp-content/themes/Divi/includes/builder/main-modules.php
文件复制并粘贴class
,然后根据需要进行修改。请参阅下面的示例(从提到的文件中复制一个实际的类,以获取下面列出的每个方法的内容……为了简单起见,我喜欢ET_Builder_Module_Code
类):avkwfej44#
上面的代码不起作用,函数也需要被调用。
下面是一个来自https://divi.space/blog/adding-custom-modules-to-divi/的工作代码示例
siotufzp5#
我想在这里解决这个小问题。class ET_Builder_Module_Custom_Module extends ET_Builder_Module {}实际上可以工作,并且main-modules.php可以自由修改如果使用子主题。我最近ajaxified一个Divi主题和更新后的一切工作就像一个魅力。
注意:检查您在子主题中使用的文件是否有更新总是一个好主意,因为有时您可能还需要更新子文件。
我希望这对这篇文章的所有未来读者都有帮助。
HFGL与您将要创建的新模块;)
axr492tv6#
为了创建自定义模块,我会使用现有的模块来创建设计(布局),将该设计保存到Divi库中,并使用Text或Code模块,并在那里编写所有HTML/jquery代码。
像这里,https://github.com/Skaidrius/Divi/tree/master/Layouts/Price-list
jgovgodb7#
你可以修改Divi主题文件(这很糟糕)
例如,你可以修改main-modules.php来添加一个新模块:
之后,您需要在functions.php中添加定制器的面板:
如果你在functions.php中搜索一下,你会很容易找到添加它的地方;)