Lo primero que necesitarás será comprar el plugin ACF Pro desde su página ofiacial, una vez que lo tengas deberás instalarlo en a pestaña plugins->añadir nuevo.
Una vez instalado y activado le pondrás la licencia obtenida y con eso todo esta listo para comenzar. Pues vamos con ello.
Cargaremos nuestro proyecto en el IDE o cualquier otra programa que uses para este fin. Nos vamos a la carpeta plugins situado en wp-content y creamos un directorio con el nombre que le vayas a dar al plugin de tus bloques, en mi caso manager-block.
Dentro del directorio creamos un archivo con el mismo nombre que el directorio “manager-block.php” y en el le pondremos entre comentarios lo siguiente.
/**
* Plugin Name: Manager Block
* Description: Plugin premium para la creación de bloques Gutenberg con ACF y panel de administración.
* Version: 1.0.0
* Author: Tu nombre
* License: GPL2+
*/
defined('ABSPATH') || exit;
Con estas lineas de código nuestro plugin ya deberá de aparecer y podremos activarlo, aunque de momento este vació y no haga nada. La linea defined(‘ABSPATH’) || exit; su propósito principal es impedir el acceso directo a ese archivo PHP desde el navegador.
define('MB_PLUGIN_PATH', plugin_dir_path(__FILE__));
define('MB_PLUGIN_URL', plugin_dir_url(__FILE__));
require_once MB_PLUGIN_PATH . 'includes/class-loader.php';
use ManagerBlock\ManagerBlock;
ManagerBlock::init();
Las dos primeras lineas definen dos constantes globales que apuntan a la ubicación física y la URL de tu plugin. Esto permite que otros archivos dentro de tu plugin carguen recursos sin tener que adivinar las rutas.
require_once: Incluye el archivo, y si ya fue incluido, lo ignora.
MB_PLUGIN_PATH . 'includes/class-loader.php': Utiliza la constante de ruta definida antes para construir la dirección exacta del archivo, que probablemente contenga la clase principal del plugin o un cargador de clases.
use ManagerBlock\ManagerBlock;: Indica que el código usará la claseManagerBlockque pertenece al espacio de nombresManagerBlock. Esto evita conflictos de nombres con otras clases de WordPress o de otros plugins.
ManagerBlock::init();: Llama a un método estático llamadoinit()(inicializar) dentro de la claseManagerBlock. Este método es el punto de entrada principal donde se configuran los hooks de WordPress, se registran los bloques y se pone en marcha toda la funcionalidad del plugin.
Y asi termina nuestro primer archivo para aprender a realizar un plugin para gutenberg con ACF Pro.
