Wie rufe ich programmgesteuert ein globales Elementor-Widget auf und übergebe ihm Werte, um Felder zu füllen?

Lesezeit: 2 Minuten

Benutzer-Avatar
Benutzer3438866

Ich möchte ein globales Elementor-Widget erstellen, das als Teil einer for each-Schleife aufgerufen wird. Die Felder müssen basierend auf den Argumenten geändert werden, die ich an sie übergebe.

Ich versuche, das globale Elementor-Widget von PHP (einem Plugin) aufzurufen und dann Variablen zu übergeben, um Felder wie Titel, Beschreibung, Bildpositionen usw. auszufüllen.

Ich weiß, wie man Variablen übergibt, ich kann nur nirgendwo finden, wie man ein globales Elementor-Widget aufruft und wie man die Felder direkt in PHP manipuliert.

Ich habe ein nahes Beispiel für eine andere Stackoverflow-Frage gefunden, die wie folgt aussah, aber das globale Widget nicht speziell aufruft.

Das folgende Beispiel würde funktionieren, wenn das globale Widget aufgerufen werden kann und es mir ermöglicht, die Werte wie unten gezeigt an die Felder zu senden.

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();
}

Benutzer-Avatar
Jibap

Vielleicht zu spät…? Ich habe versucht, etwas Ähnliches zu machen: Ich wollte ein Elementor-Widget erstellen, das von einem Shortcode aufgerufen werden kann, um es in ein anderes Widget (wie Registerkarten oder ein WYSIWYG-Steuerelement) einzubetten. Ich habe versucht zu verwenden the_widget() Funktion, aber es scheint, dass es nur für WP Base-Widgets gilt, ich habe viel gesucht und keine Antwort gefunden, um es zu machen. Ich denke, es ist ein Namespace-Problem … (Umfang von Klassen und Funktionen)

Endlich habe ich Erfolg… Umkehren des Anrufs: Der Shotcode macht das Rendern und meine Kontrolle render Funktion mein Shortcode mit der aufrufen do_shortcode() Funktion (mit neu geschriebenen Parametern, um mit der Shortcode-Syntax übereinzustimmen).

Ich bin mir nicht sicher, ob es Ihren Bedürfnissen entspricht, aber vielleicht …

1368300cookie-checkWie rufe ich programmgesteuert ein globales Elementor-Widget auf und übergebe ihm Werte, um Felder zu füllen?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy