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 nombresManagerBlockpara 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 WordPressblock_categories_allpara 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-blocky 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.
