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

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

En esta guía aprenderemos a crear un plugin personalizado para WordPress desde cero de forma sencilla y rápida.

Contenido de la guía:

Descargar la plantilla

Primero descargamos el plugin-plantilla-librería: Backend Frontend Template: the WordPress Plugin Template, ya sea desde este enlace o desde GitHub. Este plugin es totalmente gratuito porque utiliza la licencia GPL-3.0 que nos permite hacer lo que queramos con el código, y gracias a esta plantilla tendremos nuestro plugin listo mucho antes que si seguimos “el camino difícil”

Descomprimimos el archivo ZIP (si no sabes como, puedes descargarte el programa Open Source 7-Zip) y copiamos la carpeta “backend-frontend-template” en “/wp-content/plugins”

Una vez hagamos esto ya tenemos un plugin totalmente funcional en nuestra instalación de WordPress

Backend Frontend Template: the WordPress Plugin Template, primeros pasos

Tus páginas de administración

Una vez tenemos un plugin funcional, el siguiente paso será personalizar el menú de administración con las páginas que necesitemos.

Para ello vamos a backend-frontend-template/admin/class-your-plugin-admin.php y buscamos $this->admin_pages, ahí decidiremos cuál serán nuestras páginas (si no sabes qué programa usar para editar archivos PHP y HTML, puedes descargarte el programa Open Source Visual Studio Code), por ejemplo vamos a crear un par de páginas de administración:

$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",
	],
	"second_page" => [
		"menu_title" => $this->__("Second page"),
		"page_title" => $this->__("This is my second admin page"),
		"file" => "your-plugin-admin-display-second-page.php",
	],
];

Y lo siguiente siguiente será crear los archivos parciales HTML con la información que queremos mostrar, estos archivos se guardan en backend-frontend-template/admin/partials, aunque no será necesario crear un archivo desde cero, pues podemos clonar your-plugin-display-blank-page-with-title.php para tener un archivo ya listo para personalizar.

Por lo que clonamos los archivos, los renombramos a your-plugin-admin-display-first-page.php y your-plugin-admin-display-second-page.php (o los nombres que hayas designado en $this->admin_pages), y añadimos los textos necesarios para nuestras páginas de administración.

Backend Frontend Template: the WordPres Plugin Template: personalizando el texto de una página de administración

Tus etiquetas

Y por último necesitarás mostrar tus resultados a los usuarios que visitan la página, ya que normalmente queremos que un plugin actúe tanto en la parte de administración como en la parte de los usuarios que visitan la web, y para eso necesitaremos crear nuevas etiquetas/shortcodes, que son los trozos de código que se utilizan en los post y páginas de WordPress para invocar funciones de los plugins

Botón nuevo shortcode
Shortcode recién creado

Los shortcodes se especifican en backend-frontend-template/public/class-your-plugin-public.php en la función shortcodes_init_plugin(), sólo será necesario poner el nombre del shortcode y a qué función apunta.

Como nota adicional: un shortcode y la función pueden llamarse diferentes, además de que varios shortcodes pueden invocar a una misma función.

En este ejemplo crearemos el shortcode “my-first-shortcode-function” que llamará a la función “my_first_shortcode_function”.

add_shortcode("my-first-shortcode-function", array($this, "my_first_shortcode_function"));
Backend Frontend Template: the WordPres Plugin Template: creando shortcode

Por lo que ahora crearemos la función “my_first_shorcode_function” en el mismo archivo, sabiendo que las funciones para shortcodes tienen tres parámetros de entrada:

  • $atts[], array con los atributos que han detallado en la etiqueta.
  • $content, el contenido que hay en medio en caso de que tenga etiqueta de apertura y de cierre.
  • $tag, la etiqueta del shortcode, útil si varios shortcodes llaman a la misma función.

Con estos parámetros de entrada y los parciales HTML que decidas usar alojados en backend-frontend-template/public/partials, ya estás listo para programar tu shortcode y mostrarlo después con [my-first-shortcode-function]

public function my_first_shortcode_function ($atts = [], $content = null, $tag = '') {}
Backend Frontend Template: the WordPres Plugin Template: creando función del shortcode

Aunque como puede resultar un poco lioso entender $atts[] y $content, lo mejor es ver un ejemplo en acción de [bft-shortcode-test], el shortcode de ejemplo preparado por defecto en Backend Frontend Template: the WordPress Plugin Template.

Aquí vemos tanto un ejemplo en el que se ha puesto la etiqueta bft-shortcode-test con el atributo $atts[“additional_text”] y además texto en medio de sus etiquetas que será el dato $content, como un ejemplo simple en el que sólo se invoca la etiqueta sin ningún parámetro adicional.

Shortcode simple, on editor
Shortcode simple, on visitor side

Sigue en la parte 2

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 2 de la guía!

2 Comentarios

  1. Renato Arata

    Thank you. This tutorial is just what I needed. Depict in a objective way where to locate the source codes. In my opinion the formal documentation don’t address this basic issue.

    Responder
    • Moisés Barrachina

      Thanks for the comment!

      Sometimes you don’t realize that basic explanations are missing, I will improve that point of the documentation for the next version

      Responder

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