WOLF - WordPress Posts Bulk Editor and Manager Professional

Eine eigene Erweiterung für WOLF erstellen (Entwicklerhandbuch)

Mit WOLF lassen sich eigene Erweiterungen erstellen, die im Ordner wp-content/wpbe_ext abgelegt werden müssen

Hier einige vorhandene native Erweiterungen als Beispiel:


Die Funktionalität einer Erweiterung kann in Tabs dargestellt werden – obere Tabs und Basis-Tabs – oder ganz ohne Tabs, wie etwa bei 'calculator'.

Betrachten wir die einfachste Erweiterung, Info:

  • Ihr Ordner heißt 'info'
  • Im Ordner 'info' müssen liegen: info.php, views/panel.php, js/info.js, css/info.css; bei Bedarf kann auch ein Ordner img vorhanden sein
  • info.php enthält eine PHP-Klasse WPBE_INFO, die die Klasse WPBE_EXT erweitert
  • In der Klasse WPBE_INFO muss die geschützte Variable $slug mit dem Wert 'info' definiert werden
  • Im Konstruktor der Klasse WPBE_INFO  muss zum Erstellen der Tabs folgender Code stehen:
    $this->add_tab($this->slug, 'panel', __('Help', 'bulk-editor'));
    add_action('wpbe_ext_panel_' . $this->slug, array($this, 'wpbe_ext_panel'), 1);

    Um Tabs im oberen Slider zu erstellen (dort, wo sich Filter, Massenbearbeitung und Export befinden), lautet der Code:

    $this->add_tab($this->slug, 'top_panel', __('Help', 'bulk-editor'));
    add_action('wpbe_ext_top_panel_' . $this->slug, array($this, 'wpbe_ext_panel'), 1);

    Schauen Sie genau auf den Code, um den Unterschied zu erkennen: panel -> top_panel; wpbe_ext_panel_ -> wpbe_ext_top_panel_

  • Wenn wir in unserer Erweiterung JS und CSS verwenden möchten, schreiben wir die Funktion wpbe_ext_scripts:
    public function wpbe_ext_scripts() {
            wp_enqueue_script('wpbe_ext_' . $this->slug, $this->get_ext_link() . 'assets/js/' . $this->slug . '.js');
            wp_enqueue_style('wpbe_ext_' . $this->slug, $this->get_ext_link() . 'assets/css/' . $this->slug . '.css');
            ?>
            <script>
                lang.<?php echo $this->slug ?> = {};
                lang.<?php echo $this->slug ?>.example= "<?php _e('Text example', 'bulk-editor') ?>";
            </script>
            <?php
        }

    Dieser Code bindet die Stile für unsere Erweiterung und die späteren JS-Aktionen ein

  • Die Funktion wpbe_ext_panel zeigt alle Formulare an, die wir in unserer Anwendung sehen möchten. Sie gibt natürlich den HTML-Code aus, den Sie in die Datei views/panel.php schreiben, zum Beispiel beliebige Popups
  • Damit haben wir nun die einfachste Anwendung, die sich erstellen lässt. Um Ihre eigene Logik zu schreiben, sehen Sie sich den Code der Erweiterungen an, die Sie auf dieser Seite als Beispiele herunterladen können, oder die nativen WPBE-Erweiterungen im Ordner wp-content\plugins\bulk-editor\ext
  • ACHTUNG: Bei externen Erweiterungen muss die geschützte Variable $is mit dem Wert 'external' definiert werden

Einige Aktionen:

  • wpbe_adv_panel_buttons_end - fügt beliebiges HTML am Ende der Werkzeugleiste in den Tabs des Beitrags-Editors (Posts Editor) hinzu, ein Beispiel finden Sie in der Erweiterung 'bulk'
  • wpbe_adv_panel_buttons - fügt beliebiges HTML am Anfang der Werkzeugleiste in den Tabs des Beitrags-Editors hinzu, ein Beispiel finden Sie in der Erweiterung 'bulk'
  • wpbe_page_end - mit diesem Hook können Sie beliebige zusätzliche HTML-Elemente für Ihre Anwendung ausgeben, als Beispiel dient die Erweiterung calculator
  • wpbe_before_update_page_field - Hook, der vor der Aktualisierung eines Beitragsfeldes ausgeführt werden kann: models/posts.php
  • wpbe_after_update_page_field - Hook, der nach der Aktualisierung eines Beitragsfeldes ausgeführt werden kann: models/posts.php

    add_action('wpbe_after_update_page_field', function($post_id, $post, $field_key, $value, $field_type) {
        //do smth here
    });
  • wpbe_bulk_started - Hook vor dem Start der Massenbearbeitung: \ext\bulk\bulk.php
  • wpbe_bulk_going - Hook während der laufenden Massenbearbeitung: \ext\bulk\bulk.php
  • wpbe_bulk_finished - Hook nach Abschluss der Massenbearbeitung: \ext\bulk\bulk.php

Einige Variablen:

  • wpbe_checked_posts - (js) IDs der im Beitrags-Editor ausgewählten Beiträge
  • wpbe_bind_editing - (js) ob die verbundene Bearbeitung aktiviert ist
  • wpbe_show_variations - (js) ob Variationen angezeigt werden
  • wpbe_adv_panel_full_width - (js) ob die volle Breite aktiviert ist
  • global $WPBE - (php) globale Hauptvariable des Plugins, die Sie verwenden können