html - 如何创建自定义 HTML Elementor 包装器部分?
问题描述
我已经创建了几个带有纯 HTML 和 CSS 的部分,我想将它们用作我的客户的“包装器”部分,以便能够使用 Elementor 拖放界面进行填充。我试图这样做创建一个自定义 Elementor 小部件,但Controls_Manager::NAME_OF_CONTROL
我找不到与 Elementor 部分或内部部分相对应的“”。(Controls_Manager::WYSIWYG
实际上只是一个文本编辑器)。
我还尝试创建一个包含两个 HTML 块的 elementor 部分模板:一个在一个空的 elementor 部分之上,一个在一个之下。像这样:
---------- begin HTML (Elementor or Wordpress type) block ----------
<div class="myOpeningSectionDiv"> <!-- no, it's not just a single div, I'm using opening div as an example here for brevity -->
---------- end first HTML block ----------
---------- standard empty Elementor block with the little + button goes here ----------
---------- begin second HTML (Elementor or Wordpress type) block ----------
</div>
---------- end second HTML block ----------
这不起作用,因为 Elementor 将这些自定义 HTML 块包装在它自己的 html 标签中,这会破坏事情。
我能找到的最接近的解决方案是创建两个模板。一个模板是客户端可以编辑的内容简单的 Elementor 拖放内容。第二个只包含一个自定义 HTML 块,其中包含指向第一个模板的短代码。然后,客户会将其插入到他们的页面中。这并不理想,因为 1)当您预览页面时,短代码部分的内容不显示,并且 2)他们必须在模板区域中与页面的其余部分分开编辑该部分,并且无法创建其他喜欢它的部分,而不会直接弄乱 HTML 或让我参与其中。
我已经在互联网上搜索了两天的解决方案,但没有找到解决方案。这可能吗?
不,我不认为我可以使用主题页面模板,因为我需要它们能够在此部分上方和下方使用 elementor 拖放其他部分。
总而言之,我正在尝试这样做:
[Some elemnentor drag and drop content]
<someCustomReusableHtmlIWroteHere>
[Section where you can drag and drop buttons, text, form, etc using Elementor]
</someCustomReusableHtmlIWroteHere>
[Some more elemnentor drag and drop content]
我希望我能正确解释这一点。至于使用的软件:最新的 Wordpress 和 Elementor Pro。
解决方案
为此使用 Elementor PHP Hooks:
例如:
add_action( 'elementor/frontend/section/before_render', function ( \Elementor\Element_Base $element ) {
if('section' === $element->get_name()){
// your code here
}
} );
add_action( 'elementor/frontend/section/after_render', function ( \Elementor\Element_Base $element ) {
if('section' === $element->get_name()){
// your code here
}
} );
唯一的问题是,虽然这适用于实际呈现的页面,但它不会在 Elementor 的预览中显示额外的 HTML。这似乎是 before_render 和 after_render 钩子的问题。
推荐阅读
- php - 当我尝试在 html 中回显时,为什么我的 file_get_contents 函数会导致图像损坏?
- c - 如何在 C 中接受文件并生成存档文件?
- python - 迁移学习:模型给出不变的损失结果。不是训练吗?
- android - 我正在尝试替换 Android 应用程序中的片段,但我的片段没有改变(Kotlin)
- azure-devops - 仓促重建指定项目顺序
- excel - 复制连接列并粘贴两次
- java - 规范对象即使在创建之后也不包含任何标准
- c# - 在 C# 中用二维数组属性封装一维数组字段
- c# - 创建上下文菜单,如桌面上下文菜单 C# Winform
- c# - 从 Windows 服务卸载软件 - 为什么我不能从 Windows 服务调用 MSIEXE.EXE