BEAR - WooCommerce Bulk Editor and Products Manager Professional

Eine eigene Erweiterung mit der BEAR-Entwickler-API erstellen

WOOBE ermöglicht das Erstellen benutzerdefinierter Extensions, die im Ordner wp-content/woobe_ext abgelegt werden müssen Hier sind einige vorhandene native Extensions als Beispiel:
Die Funktionalität einer Extension kann in Tabs dargestellt werden: obere Tabs und Basis-Tabs, oder auch ganz ohne Tabs, wie zum Beispiel bei 'calculator'. Betrachten wir die einfachste Extension, Info:
  • Ihr Ordner heißt 'info'
  • Im Ordner 'info' sollten sich befinden: info.php, views/panel.php, js/info.js, css/info.css sowie bei Bedarf auch der Ordner img
  • info.php enthält eine PHP-Klasse namens WOOBE_INFO, die von der Klasse WOOBE_EXT erbt
  • In der Klasse WOOBE_INFO sollte die geschützte Variable $slug mit dem Wert 'info' definiert werden
  • Im Konstruktor der Klasse WOOBE_INFO sollte folgender Code stehen, um Tabs zu erstellen:
    $this->add_tab($this->slug, 'panel', __('Help', 'woocommerce-bulk-editor'));
    add_action('woobe_ext_panel_' . $this->slug, array($this, 'woobe_ext_panel'), 1);
    Um Tabs im oberen Slider zu erstellen (wo sich filter, bulk, export befinden), sollte der Code so aussehen:
    $this->add_tab($this->slug, 'top_panel', __('Help', 'woocommerce-bulk-editor'));
    add_action('woobe_ext_top_panel_' . $this->slug, array($this, 'woobe_ext_panel'), 1);
    Schauen Sie sich den Code genau an, um den Unterschied zu erkennen: panel -> top_panel; woobe_ext_panel_ -> woobe_ext_top_panel_
  • Wenn wir js und css in unserer Extension verwenden müssen, schreiben wir die Funktion woobe_ext_scripts:
    public function woobe_ext_scripts() {
            wp_enqueue_script('woobe_ext_' . $this->slug, $this->get_ext_link() . 'assets/js/' . $this->slug . '.js');
            wp_enqueue_style('woobe_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', 'woocommerce-bulk-editor') ?>";
            </script>
            <?php
        }
    Dieser Code bindet die Styles für unsere Extension sowie künftige js-Aktionen ein
  • Die Funktion woobe_ext_panel zeigt alle Formulare, die wir in unserer Anwendung sehen möchten. Sie zeigt natürlich den HTML-Code an, den Sie in der Datei views/panel.php schreiben, zum Beispiel auch beliebige Popups dort
  • Jetzt haben wir die einfachste Anwendung, die sich erstellen lässt. Um Ihre eigene Logik zu schreiben, sollten Sie sich den Code der Extensions ansehen, die Sie auf dieser Seite als Beispiele herunterladen können, oder die nativen Extensions von WOOBE im Ordner wp-content\plugins\woocommerce-bulk-editor\ext
  • ACHTUNG: Für externe Extensions muss die geschützte Variable $is mit dem Wert 'external' definiert werden

Einige Actions:

  • woobe_adv_panel_buttons_end - fügt beliebiges HTML am Ende der Werkzeugleiste in den Produkteditor-Tabs (Products Editor) hinzu, siehe Beispiel in der Extension 'bulk'
  • woobe_adv_panel_buttons - fügt beliebiges HTML am Anfang der Werkzeugleiste in den Produkteditor-Tabs hinzu, siehe Beispiel in der Extension 'bulk'
  • woobe_page_end - mit diesem Hook können Sie beliebige zusätzliche HTML-Elemente rendern, die Ihre Anwendung benötigt, siehe als Beispiel die Extension calculator
  • woobe_before_update_page_field - Hook, der vor der Aktualisierung eines Produktfelds ausgeführt werden kann: models/products.php
  • woobe_after_update_page_field - Hook, der nach der Aktualisierung eines Produktfelds ausgeführt werden kann: models/products.php
    add_action('woobe_after_update_page_field', function($product_id, $product, $field_key, $value, $field_type) {
        //do smth here
    });
  • woobe_bulk_started - Hook vor dem Start des Bulk-Editings: \ext\bulk\bulk.php
  • woobe_bulk_going - Hook während des laufenden Bulk-Editings: \ext\bulk\bulk.php
  • woobe_bulk_finished - Hook nach Abschluss des Bulk-Editings: \ext\bulk\bulk.php

Einige Variablen:

  • woobe_checked_products - (js) IDs der im Produkteditor ausgewählten Produkte
  • woobe_bind_editing - (js) ob Bind-Editing aktiviert ist
  • woobe_show_variations - (js) ob Variationen angezeigt werden
  • woobe_adv_panel_full_width - (js) ob die volle Breite aktiviert ist
  • global $WOOBE - (php) globale Hauptvariable des Plugins, die Sie verwenden können