You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Elementor创建类VueJS、React的可复用区块?模板功能存局限

解决方案:Elementor 创建可复用动态区块

方法1:模板 + 自定义字段(最贴近Vue/React组件思路)

  • 先做一个基础结构的Section/部件模板,把需要动态替换的位置留空,用Elementor的动态标签绑定自定义字段(ACF或WordPress原生自定义字段都可以)
  • 使用时,直接在页面插入这个模板,选中模板后通过「动态标签」面板选择对应字段就能替换内容;如果要在模板外部加内容,直接在模板所在Section的上下新增Section或部件就行——注意别选「全页模板」,这类模板会锁死整个页面,没法加外部内容

方法2:全局部件(Global Widget)

  • 把可复用结构做成全局部件,插入页面后,双击就能进入编辑模式改动态内容,同时可以在它的前后自由添加其他Elementor内容
  • 开启「允许实例自定义」选项后,修改全局部件的基础结构时,所有引用的地方会同步更新,但每个实例还能单独改自己的动态内容,兼顾复用性和灵活性

方法3:自定义短代码 + 模板(进阶灵活方案)

  • 先做一个带占位符的基础模板,比如把动态内容位置标记成{{title}}、{{content}}
  • 写一段简单的PHP短代码,接收参数后替换模板里的占位符,然后在页面用短代码调用,前后可以随意加其他内容
  • 示例短代码逻辑:
function dynamic_block_shortcode($atts) {
    $atts = shortcode_atts(array(
        'title' => '默认标题',
        'content' => '默认内容'
    ), $atts);
    ob_start();
    // 替换123为你的模板ID
    echo Elementor\Plugin::instance()->frontend->get_builder_content(123, true);
    $content = ob_get_clean();
    // 替换占位符
    $content = str_replace('{{title}}', $atts['title'], $content);
    $content = str_replace('{{content}}', $atts['content'], $content);
    return $content;
}
add_shortcode('dynamic_block', 'dynamic_block_shortcode');
  • 使用时在Elementor里加「短代码」部件,输入[dynamic_block title="自定义标题" content="自定义内容"]即可

关键提醒

  • 绝对避免用「全页模板」,这类模板会覆盖整个页面,导致无法添加外部内容;优先选「Section」「部件」类型的模板
  • 动态标签还能绑定文章标题、特色图片、分类等WordPress原生数据,适合批量生成内容

内容的提问来源于stack exchange,提问作者Ivan Markov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 19:31:07