如何以编程方式调用 Elementor 全局小部件并将其值传递给填充字段

use*_*866 8 php wordpress global widget elementor

我想创建一个全局 Elementor 小部件,作为 foreach 循环的一部分进行调用。这些字段需要根据我传递给它的参数进行更改。

我想做的是从 PHP(插件)调用 Elementor 全局小部件,然后向其传递变量以填充标题、描述、图像位置等字段。

我知道如何传递变量,但我在任何地方都找不到如何调用全局 Elementor 小部件以及如何直接在 PHP 中操作字段。

我确实在另一个 Stackoverflow 问题上找到了一个类似的例子,如下所示,但它没有专门调用全局小部件。

如果可以调用全局小部件并允许我将值发送到如下所示的字段,则下面的示例将起作用。

function loadheader() {
    $heading_widget = \Elementor\Plugin::instance()->elements_manager->create_element_instance(
        [
            'elType' => 'widget',
            'widgetType' => 'call-to-action',
            'id' => 'stubID',
            'settings' => [
                'title' => 'custom Heading from code',
                'description' => 'custom description',
                'button' => 'success!',
                'image' => 'study-footer.jpg',
                'skin' => 'classic',
            ],
        ],
        []
    );
    $heading_widget->print_element();
}
Run Code Online (Sandbox Code Playgroud)

Jib*_*bap 2

也许为时已晚...?我尝试做一些类似的事情:我想创建一个 Widget,可以从短代码调用它以将其嵌入到另一个小部件(如选项卡或任何所见即所得控件)中。我尝试使用the_widget()函数,但似乎它仅适用于 WP Base 小部件,我搜索了很多,但没有找到任何答案。我认为是命名空间问题...(类和函数的范围)

最后我成功了......反转调用:镜头代码进行渲染,我的控制render函数用该函数调用我的短代码do_shortcode()(重写参数以与短代码语法匹配)。

我不确定它是否满足您的需要,但也许竖琴......