BEAR - WooCommerce Bulk Editor y Product Manager Professional

Creando extensiones personalizadas

WOOBE permite crear extensiones personalizadas que deben colocarse en la carpeta: wp-content / woobe_ext

Aquí hay algunas extensiones nativas existentes, por ejemplo:


La funcionalidad de extensión se puede presentar en pestañas: pestañas superiores y pestañas básicas, o sin pestañas, como 'ordenador' por ejemplo.

Consideremos la extensión más simple como Info.:

  • Su carpeta tiene nombre 'info"
  • Dentro de la carpeta 'info' debiera ser: info.php, views/panel.php, js/info.js, css/info.css y puede ser también carpeta img si es necesario
  • info.php tiene la clase PHP dentro como WOOBE_INFO que extiende la clase WOOBE_EXT
  • en la clase WOOBE_INFO debe definirse como variable protegida $slug con valor 'info"
  • en el constructor de clase WOOBE_INFO  debe definirse el siguiente código para crear pestañas:
    $ this-> add_tab ($ this-> slug, 'panel', __ ('Ayuda', 'woocommerce-bulk-editor')); add_action ('woobe_ext_panel_'. $ this-> slug, array ($ this, 'woobe_ext_panel'), 1);

    Para crear pestañas en el control deslizante superior (donde está filtrar, a granel, exportar) el código debe ser:

    $ this-> add_tab ($ this-> slug, 'top_panel', __ ('Ayuda', 'woocommerce-bulk-editor')); add_action ('woobe_ext_top_panel_'. $ this-> slug, array ($ this, 'woobe_ext_panel'), 1);

    Mire más de cerca el código para ver la diferencia: panel -> cima_panelwoobe_ext_panel_ -> woobe_ext_top_panel_

  • Si necesitamos usar cualquier js y css en la función de escritura de nuestra extensión woobe_ext_scripts:
    función pública 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'); ?>
                lang.slug ?> = {};
                lang.slug ?>.example= "";
            

    Este código incluirá estilos para nuestra extensión y futuras acciones de js

  • Función woobe_ext_panel mostrará cualquier formulario que necesitemos ver en nuestra aplicación. Por supuesto, mostrará el código HTML que escribirás en el archivo. vistas / panel.php, por ejemplo, cualquier ventana emergente
  • Así que ahora tenemos la aplicación más simple que es posible crear. Para escribir su lógica, necesita ver el código de las extensiones que puede descargar en esta página como ejemplos o ver las extensiones nativas de WOOBE en la carpeta wp-content\plugins\woocommerce-bulk-editor\ext
  • ATENCIÓN: para extensiones externas debe definirse variable protegida $ es con valor 'externo"

Algunas acciones:

  • woobe_adv_panel_buttons_end - agregará cualquier html al final del panel de herramientas en las pestañas del Editor de productos, vea el ejemplo en la extensión 'abultar"
  • woobe_adv_panel_buttons - agregará cualquier html al comienzo del panel de herramientas en las pestañas del Editor de productos, vea el ejemplo en la extensión 'abultar"
  • woobe_page_end - con este gancho puede renderizar cualquier elemento html adicional que necesite para su aplicación, vea como ejemplo de calculadora de extensión
  • woobe_before_update_page_field - gancho que se puede ejecutar antes de la actualización del campo de productos: modelos / productos.php
  • woobe_after_update_page_field - gancho que se puede ejecutar después de la actualización del campo de productos: modelos / productos.php

    add_action ('woobe_after_update_page_field', function ($ product_id, $ product, $ field_key, $ value, $ field_type) {// haz algo aquí});
  • woobe_bulk_started - gancho antes de que comenzara la edición masiva: \ ext \ bulk \ bulk.php
  • woobe_bulk_going - gancho mientras se realiza la edición masiva: \ ext \ bulk \ bulk.php
  • woobe_bulk_finished - gancho después de la edición masiva realizada: \ ext \ bulk \ bulk.php

Algunas variables:

  • woobe_checked_products - (js) identificadores de los productos seleccionados en el Editor de productos
  • woobe_bind_editing - (js) está habilitada la edición de enlaces
  • woobe_show_variations - (js) se muestran variaciones
  • woobe_adv_panel_full_width - (js) es de ancho completo activado
  • global $WOOBE - (php) variable principal del complemento global que puede usar