Benutzerdefiniertes Divi Builder-Modul

Lesezeit: 3 Minuten

Benutzer-Avatar
Hossein

Ich habe ein benutzerdefiniertes einfaches Modul für Divi Builder entwickelt. Es wird im Backend- und Frontend-Editor korrekt angezeigt.

Das Problem ist, dass es im Backend- oder Frontend-Editor überhaupt nicht gespeichert wird. Wenn ich es in den Backend-Editor platziere und den Beitrag speichere, dann geht es nach dem Neuladen des Backend-Editors verloren!

Hier ist meine Modulklasse:

class My_Custom_Module extends ET_Builder_Module
{
    public function init()
    {
        $this->name = __('My Custom Module', 'wpl');
        $this->slug = 'CUSTOM_SLUG';
    }
}

new My_Custom_Module();

Ich habe diesen Artikel befolgt https://jonathanbossenger.com/building-your-own-divi-builder-modules/ und Wie erstelle ich ein benutzerdefiniertes Divi-Modul? und einige andere Artikel, die ich bei Google gefunden habe.

Ich habe bereits versucht, einige Felder in die get_fields-Funktion einzufügen, aber es hat auch nicht geholfen.

Um sicherzustellen, dass es sich nicht um einen Konflikt handelt, habe ich alle anderen Plugins deaktiviert, aber es wurde nicht behoben, sodass es nicht mit einem Konflikt zusammenhängt.

  • Es gibt einen Kommentar Update unter dem Tutorial, haben Sie es überprüft : UPDATE: Während der Vorbereitung dieses Artikels habe ich festgestellt, dass meine benutzerdefinierten Module nicht immer in den Page Builder geladen wurden. Ich konnte nicht herausfinden, warum, bis ich herausfand, wie das Caching von Divi Page Builder funktioniert. Überprüfen Sie das also unbedingt auch.

    – IqbalBary

    16. Mai 2017 um 6:07 Uhr


  • Ja, ich habe es überprüft.

    – Hossein

    19. Mai 2017 um 8:03 Uhr

  • Ich habe die Lösung selbst gefunden. Bitte überprüfen Sie meine eigene Antwort.

    – Hossein

    19. Mai 2017 um 10:07 Uhr

Benutzer-Avatar
Hossein

Ich habe das Problem endlich selbst gefunden und teile es hier, um anderen zu helfen, wenn sie vor demselben Problem stehen.

Das einfache Modul in der Frage speichert nicht, weil sein Slug fehlt et_pb_ Präfix. Es funktioniert gut, wenn ich wechsele $this->slug = 'custom_module' zu $this->slug = 'et_pb_custom_module'.

Ich habe diese Regel nicht in ihrer Dokumentation gesehen, aber ich hoffe, sie haben sie irgendwo erwähnt.

Hier ist der Arbeitscode für ein einfaches benutzerdefiniertes Divi-Modul:

function custom_divi_register_modules()
{
    if(class_exists('ET_Builder_Module'))
    {
        class custom_divi_module extends ET_Builder_Module
        {
            public function init()
            {
                $this->name = __( 'Custom Module', 'et_builder' );
                $this->slug = 'et_pb_custom_module';
                $this->fb_support = true;
            }
        }

        new custom_divi_module;
    }
}
add_action('et_builder_ready', 'custom_divi_register_modules');

  • Bestätigt … der Slug eines benutzerdefinierten Moduls erfordert eine et_pb_ Präfix im Slug, damit Divi das Modul speichern kann. Ich bin mir nicht sicher, warum oder wie das genau funktioniert, aber dies sind wichtige Informationen, wenn Sie benutzerdefinierte Divi-Module erstellen.

    – Braikan

    6. November 2017 um 23:11 Uhr

  • Ich habe online ein Tutorial befolgt, um ein benutzerdefiniertes Modul zu erstellen, aber es wurde ein schwerwiegender Fehler angezeigt, der besagt, dass die Klasse „ET_Builder_Module_Type_PostBased“ nicht existiert. Kapseln der benutzerdefinierten Modulklasse in einer Funktion und Aufrufen über den Hook: add_action('et_builder_ready', 'custom_divi_register_modules'); das Problem behoben, das ich hatte

    – Matte

    22. Dezember 2017 um 21:20 Uhr

  • @Hossein Kannst du mehr Code in das obige Arbeitsbeispiel posten? Das Snippet registriert das Modul und es wird im Builder angezeigt, aber ich suche nach einem einfachen Beispiel, das zeigt, wie ein Feldwert im Builder festgelegt und auf der Seite angezeigt wird.

    – aaaap

    23. Februar 2018 um 8:20 Uhr

Das sollte nicht passieren. Möglicherweise liegt ein Konflikt vor, der durch andere Plugins in WordPress verursacht wird. Was ich tun würde, ist eine Neuinstallation von WordPress, Wenden Sie das Divi-Design an und versuchen Sie, das Modul zu speichern. Wenn es gespeichert wird. Dann können Sie das Problem isolieren und wissen, welches Plugin das Problem verursacht, indem Sie die Plugins nacheinander wieder installieren.

  • Danke für das Kopfgeld!

    – Rodney Zanoria

    17. Mai 2017 um 7:25 Uhr

  • Hallo Rodney, herzlich willkommen, obwohl Ihre Antwort das Problem nicht gelöst hat. Ich habe das Problem selbst gefunden. Sie können meine eigene Antwort überprüfen.

    – Hossein

    19. Mai 2017 um 10:08 Uhr

1353410cookie-checkBenutzerdefiniertes Divi Builder-Modul

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

Privacy policy