Oferta SiteGround Black Friday

Crea tu primer plugin WordPress

Venga, que es muy fácil. Vamos a crear nuestro primer plugin WordPress, y una vez hecho este ya solo tienes que lanzarte y empezar a crear tus propias criaturas, poco a poco.

Además, que no necesitas ser programador para hacer tu primer plugin WordPress, solo seguir unas sencillas líneas. Lo único que necesitas es un editor de texto plano, como Notepad de Windows o TextEdit de Mac, aunque yo te recomiendo mejor Notepad++ para Windows y Fraise para Mac.

¡Vamos a ello!

1. La Cabecera del plugin

Un plugin WordPress debe tener una serie de información para que WordPress lo identifique como tal y, sobre todo, funcione. Lo primero de todo es abrir el melón con la etiqueta que lo identifique como código PHP.

Así que abre tu editor de código favorito, de los que comentamos antes, y añade lo siguiente en la primera línea:

<?php

A partir de aquí le añadimos texto que le dirá a WordPress como se llama el plugin, quien lo ha hecho, qué hace y algunas cosas más. Sería algo así:

/*
Plugin Name: Entradas a colores
Plugin URI: https://ayudawp.com/
Description: Con este plugin se cambia el color de fondo en la administración de entradas, según si su estado es Publicada, Borrador o Pendiente de revisión. El código que utiliza es <a href="https://ayudawp.com/distinto-color-segun-el-estado-de-las-entradas/">este</a>.
Más información sobre como se ha creado este plugin en <a href="https://ayudawp.com/crea-tu-primer-plugin-wordpress/">este artículo</a>
Version: 0.1
Author: Fernando Tellado
Author URI: http://tellado.es
License: GPLv2 o posterior
*/

Es vital que esta sección de cabecera comience con /* y termine con */, lo que indica que es texto que no se ejecuta, pero que WordPress usa para mostrar la información de tu plugin una vez instalado.

2. El código

Hasta ahora solo hemos preparado la infraestructura, pero en realidad nuestro plugin no hará nada, así que ya es hora de añadirle el código que – de verdad – lo hará útil.

Para este primer plugin te recomiendo usar alguna de las funciones PHP que he ido publicando, y que tienes en este archivo de la tag functions, te valdrá prácticamente cualquiera de los códigos.

Yo he elegido uno que cambia el color de fondo de las entradas en la página de administración de las mismas, dependiendo de su estado.

Simplemente copia este código y lo añades a continuación de la cabecera:

function posts_status_color() {
?>
  <style>
  .status-draft { background: #FCE3F2 !important; }
  .status-pending { background: #FCFC85 !important; }
  .status-publish { /* por defecto */ }
  .status-future { background: #C6EBF5 !important; }
  .status-private { background: #E7C7B4; }
  </style>
<?php
}
add_action('admin_footer','posts_status_color');

Tras añadir el código nuestro plugin ya estaría completo, simple pero efectivo. Quedaría así:

<?php
/*
Plugin Name: Entradas a colores
Plugin URI: https://ayudawp.com/
Description: Con este plugin se cambia el color de fondo en la administración de entradas, según si su estado es Publicada, Borrador o Pendiente de revisión. El código que utiliza es <a href="https://ayudawp.com/distinto-color-segun-el-estado-de-las-entradas/">este</a>.
Más información sobre como se ha creado este plugin en <a href="https://ayudawp.com/crea-tu-primer-plugin-wordpress/">este artículo</a>
Version: 0.1
Author: Fernando Tellado
Author URI: http://tellado.es
License: GPLv2 o posterior
*/
function posts_status_color() {
?>
  <style>
  .status-draft { background: #FCE3F2 !important; }
  .status-pending { background: #FCFC85 !important; }
  .status-publish { /* por defecto */ }
  .status-future { background: #C6EBF5 !important; }
  .status-private { background: #E7C7B4; }
  </style>
<?php
}
add_action('admin_footer','posts_status_color');

Ya podemos guardarlo, con el nombre que queramos. Eso si, es importante que no dejes espacios en el nombre y que la extensión sea .php. Podría ser algo como … entradas-a-colores.php

3. El plugin

Pues ¡ya tenemos el plugin creado!. Ese archivo PHP es nuestro plugin. Para subirlo a WordPress antes hay que comprimirlo en formato ZIP. Usa tu programa favorito y comprímelo. De nuevo, el nombre es importante que no contenga espacios a ser posible.

Ahora solo queda instalarlo. Para ello vas a la administración de tu WordPress y eliges el menú ‘Plugins -> Añadir nuevo‘ y, en la siguiente pantalla eliges la opción de «Subir«. Eliges el fichero recién comprimido de tu ordenador y haces clic en «Instalar ahora«.

Una vez instalado ya estará disponible en la página de Plugins y lo podrás activar para, en este caso, mostrar las entradas a colores según su estado.

Fácil ¿eh?. ¡Venga, te toca!

Documentación para crecer: WordPress Codex

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en los emoticonos para valorarlo!

Promedio de puntuación 5 / 5. Total de votos: 9

Hasta ahora ¡no hay votos!. Sé el primero en valorar este contenido.

Ya que has encontrado útil este contenido...

¡Sígueme en las redes sociales!

¡Siento que este contenido no te haya sido útil!

¡Ayúdame a mejorar este contenido!

Por favor, dime, ¿cómo puedo mejorarlo?

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

AVISO: Esta publicación es de hace 3 años o más. Si es un código o un plugin podría no funcionar en las últimas versiones de WordPress, y si es una noticia podría estar ya obsoleta. Luego no digas que no te hemos avisado. ¡Ah! ¿te funciona? pues entonces no he dicho nada :)

Sobre el autor

19 comentarios en “Crea tu primer plugin WordPress”

    1. Jaja, no lo hay. Es así de simple, tu solo pruébalo 🙂

      Bueno, el truco está en crear tu propio código, no usar códigos ya existentes, en aportar algún nuevo con tu plugin. Aunque hay muchos, algunos muy populares, que simplemente aúnan código de otros plugins y funciones.

  1. Hola Fernando, gran tutorial.
    Solo un detalle, se te olvidó cerrar el php, faltó agregar al final  ?>
    Saludos

  2. Fernando, ya sé que lo haces con buena intención… Pero hombre, si te pones a enseñar algo, al menos enseña siguiendo los mínimos aconsejables. Sobre todo si es  sobre un tema del que no eres experto.

    Por ejemplo eso de que el ?> que te apunta curdaneta, no es necesario… Pues hombre, quizás no te habrá dado ningún error cuando tú lo has probado, pero siempre que abres el interprete PHP hay que cerrarlo por norma, es algo básico. Si no lo haces y además te acostumbras a hacerlo así en todo lo que hagas, te encontraras con problemas de todo tipo.

    En cuanto al resto del código del plugin. La verdad es que empleas unos métodos poco aconsejables para el fin que persigues. Casi sirve mejor esta entrada como ejemplo de lo que NO hay que hacer jeje 😉

    Por ejemplo, ya que los estilos que quieres insertar (de forma poco aconsejable tambíén) sólo tienen uso en la página de listado de entradas, el hook adecuado para tu función sería 'admin_print_styles-edit.php' para que sólo se impriman los estilos en esa página concreta y no en el footer de todas las páginas de admin. (que es lo que haces con el hook 'admin_footer').

    1. Samuel, lo que indicas del admin_print_styles no es del todo correcto. Puedes ver en el Códex claramente ) ) que no se debe usar ese action por un problema con WP 3.3. Más información por aquí: http://make.wordpress.org/core/2011/12/12/use-wp_enqueue_scripts-not-wp_print_styles-to-enqueue-scripts-and-styles-for-the-frontend/

      Por lo general, cerrar el ?> no es necesario. Es más, da más problemas cerrarlo que abrirlo, ya que si te dejas espacios en blanco detrás del cierre, lo mismo te encuentras tu web totalmente en blanco ( y peor todavía, en localhost no tienes ese problema). Y ponte a buscar el error… Dicho esto, yo los cierro por manías personales, pero hay que tener cuidado.

  3. Por cierto, en el link se lee: La etiqueta de fin de bloque es opcional al final del archivo y es útil omitirlo cuando se utilizan sentencias include() o require(), para que no se produzcan espacios en blanco al final de los archivos cuando se quieren mandar cabeceras de http. También sirve cuando se captura la salida con output buffering y no se desean espacios innecesarios al final de partes generadas por archivos incluídos.

  4. La discusión sobre la etiqueta de cierre PHP al final de los archivos es más profunda y se escapa de lo explicado en este artículo.

    Decirles que miren los archivos class de la carpeta wp-includes de WordPress a ver si encuentran la etiqueta de cierre ?>

    Además de WordPress, Joomla, Drupal, Zend, etc, etc, hacen lo mismo…

    Un saludo

Deja un comentario

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

Información base sobre privacidad:
- Responsable: Fernando Tellado ([email protected])
- Fin del tratamiento: Moderación de comentarios para evitar spam
- Legitimación: Tu consentimiento
- Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal
- Derechos: Acceso, rectificación, portabilidad, olvido

 

Scroll al inicio