Creación del class-managerblock

namespace ManagerBlock;

defined('ABSPATH') || exit;

class ManagerBlock {
    public static function init() {
        BlocksRegister::init();
        AcfJson::init();
        ReduxLoader::init();
        AssetsLoader::init();
        AdminPanel::init();
       
        add_filter('block_categories_all', [__CLASS__, 'add_custom_category'], 10, 2);
    }

    public static function add_custom_category($categories, $context) {
        return array_merge(
            [['slug' => 'vivero-manager-block', 'title' => __('Manager Blocks', 'manager-block')]],
            $categories
        );
    }
}

Declaración de Clase y Seguridad

  • namespace ManagerBlock;: Coloca todo el código de la clase bajo el espacio de nombres ManagerBlock para evitar conflictos de nombres con otros plugins.
  • defined('ABSPATH') || exit;: Medida de seguridad estándar de WordPress para bloquear el acceso directo al archivo PHP.

Método de Inicialización (init)

El método estático init() es el punto de entrada principal del plugin y es llamado por el autoloader que vimos antes. Su trabajo es arrancar todos los módulos necesarios:

  • BlocksRegister::init(): Probablemente inicializa las clases o funciones responsables de registrar los bloques de Gutenberg personalizados que creaste.
  • AcfJson::init(): Sincroniza de los campos personalizados de ACF a través de archivos JSON.
  • ReduxLoader::init(): Inicializa el Redux Framework para tu panel de opciones. ( Esto lo explicaremos en otro curso direfente ).
  • AssetsLoader::init(): Carga y enlaza todos los archivos CSS y JavaScript necesarios para que el plugin y los bloques funcionen correctamente en el frontend y backend.
  • AdminPanel::init(): Configura las páginas, menús y opciones del panel de administración (diferentes a las de Redux).
  • add_filter(...): Utiliza el hook de WordPress block_categories_all para añadir una nueva categoría de bloques al editor de Gutenberg.

La función add_custom_category implementa esa lógica:

  • Añade una categoría con el slug vivero-manager-block y el título “Manager Blocks” al principio de la lista de categorías del editor. Esto hace que tus bloques personalizados sean fáciles de encontrar para el usuario.