Cómo crear un plugin de WordPress paso a paso, parte 2

Oct 18, 2023 | Backend Frontend Template, Backend Frontend Template Pro, Plugin, WordPress

En esta entrada aprendemos a crear funciones en las páginas de administración de nuestro plugin y a comprobar el registro de WordPress para ver errores o variables específicas, y al igual que en la parte 1, utilizaremos el plugin-plantilla-librería Backend Frontend Template: the WordPress Plugin Template que está disponible de forma totalmente gratuita desde este enlace o desde GitHub

Contenido de la guía:

Crear función para una página de administración

En la parte 1 creamos un menú con dos páginas de administración en backend-frontend-template/admin/class-your-plugin-admin.php, volvemos a ese menú y ahora le definimos una función que será llamada por las dos páginas;

$this->admin_pages = [
	"first_page" => [
		"menu_title" => $this->__("First page"),
		"page_title" => $this->__("This is my first admin page"),
		"file" => "your-plugin-admin-display-first-page.php",
		"function" => "my_first_custom_function",
	],
	"second_page" => [
		"menu_title" => $this->__("Second page"),
		"page_title" => $this->__("This is my second admin page"),
		"file" => "your-plugin-admin-display-second-page.php",
		"function" => "my_first_custom_function",
	],
];

Y digo definir función porque en realidad siempre se carga una función: si no está definido en el array qué función usar, BFT cargará la función especificada en $this->admin_pages_function_default (por defecto llama a una función que comprueba los permisos y muestra la página especificada)

En nuestra función lo primero será comprobar que el usuario tiene los permisos para acceder al plugin y lo último será mostrar la página de administración especificada, por tanto nuestra función se verá así:

public function my_first_custom_function($args = array()) {
	$this->admin_permission_check();

	
	//your own programming
	$text_for_you_page = "Lorem Ipsum";
	$args["text_for_page"] = $text_for_you_page;

	$this->admin_menu_page_display($args);
}

En este ejemplo hemos añadido/enviado un dato a la página que se cargará (your-plugin-admin-display-first-page.php y/o your-plugin-admin-display-second-page.php), de esta forma podremos mostrar valores calculados en nuestros paneles de administración.

Registro de WordPress

Mientras estamos construyendo un plugin, es necesario poder comprobar el registro de WordPress para comprobar qué errores detecta, así como poder nosotros enviar variables al registro para poder comprobar el valor de una variable.

Para ello abrimos wp-config.php y cambiamos:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );

Ahora el registro de WordPress se podrá encontrar en wp-content/debug.log.

Pero eso sólo nos servirá para ver los errores que detecte WordPress, para poder enviar variables y ver su contenido utilizaremos:

error_log($string_or_number);

Pero esa función sólo servirá para mostrar cadenas de texto o números, por ello mejor utilizaremos la función que nos da Backend Frontend Template que permite cualquier dato:

$this->debug_log_write($whatever);

Además también se puede usar el nombre opcional que provee esta plantilla para plugins de WordPress:

 $this->write_log($whatever);

Sigue en la parte 3

Gracias a esta guía has ahorrado ya decenas de horas, pero te espera ahorrar cientos de horas de trabajo e investigación con las próximas entradas.

¡El viaje continúa en la parte 3 de la guía!

0 comentarios

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Utilizamos Cookies propias y de terceros para mejorar nuestros servicios y para ofrecerte una mejor experiencia (por ejemplo, mostrando publicidad personalizada) mediante el análisis de tus hábitos de navegación (por ejemplo, páginas visitadas). Puedes aceptar todas las cookies pulsando el botón “Aceptar”. Para configurarlas, obtener más información o rechazar su uso, haz click AQUÍ

Los ajustes de cookies en esta web están configurados para «permitir las cookies» y ofrecerte la mejor experiencia de navegación posible. Si sigues usando esta web sin cambiar tus ajustes de cookies o haces clic en «Aceptar», estarás dando tu consentimiento a esto.

Cerrar