Creación Web

Cómo hacer un plugin para WordPress

Plugins Wordpress

Hoy te dejo una iniciación a los conceptos que debes conocer si quieres desarrollar un plugin para Wordpress.

Ahí es nada, Javi, ¡ande me has metio!. El título encaja más para un libro que para un post y, por eso, éste no pretende (ni podría llegar a) ser una guía completa ni paso a paso para crear plugins para WordPress, es imposible.

Sin embargo, en mi experiencia desarrollando Vcgs Toolbox, he tenido que aprender una serie de conceptos y he conseguido encontrar algunos recursos que quizás te resulten interesantes si pretendes desarrollar un plugin para Worpress. Eso es lo que voy a intentar compartir aquí.

Peeeeero, estamos en un tema serio y cuando escribo sobre estas cosas a mí como que me duelen las cejas de tanto fruncirlas así que, antes de empezar, déjame contarte un chiste: “¿Quién es más rápido, el garbanzo o la lenta-ja?”. Jajajajaja. Diós! ¿En serio vas a seguir leyendo después de esto?.

Nota: Si no eres programador o no te interesa el desarrollo de plugins, te vas a aburrir con este post. Por eso, si es tu caso, te recomiendo que vayas directamente al final.

El plugin más pequeño del mundo

Angelico, que no va a los conciertos porque siempre acaba viendo un mar de culos. - piopíalo    

Lo primero que tienes que saber es que, como mínimo, un plugin de WordPress está compuesto por un archivo readme.txt, que reúne información sobre qué hace, cual es la versión estable, con qué versión de WordPress es compatible, etc; y un fichero nombredetuplugin.php con el código que define el comportamiento o las funciones que va a hacer.

Ya está, no necesitas nada más. Junta esos dos archivos en una carpeta que tenga por nombre el mismo que el plugin, comprímelo en ZIP y ya has hecho uno. Así de sencillo.

Eso si, el archivo txt tiene que tener una sintaxis específica. Pero, por suerte, aquí te dejo una herramienta que te lo genera fácilmente: Generate WP Plugin Readme File.

En el archivo readme.txt definirás toda la información que saldrá en la página del plugin dentro del catálogo oficial de WordPress, si decides publicarlo ahí.

 

Entender el concepto de ganchos “hooks” en WordPress

En casi todos los cuentos, el Capitán Garfio es el malo. Aquí es el rey. Por cierto, ¿os podéis imaginas la cantidad de veces que repito al día la canción “Que bien tripulación, todos cumplieron su función.. tú nos tienes que ayudar, los doblones hay que contar”. Padres, madres, seguro que me entenderéis. Así que, envíame un audio cantando la canción y al más gracioso le regalo 2 horas de consultoría para su blog.

Para entender cómo programar plugins para WordPress, es necesario entender el concepto de hooks o “ganchos”. Porque, por mucho código que agregues en tu archivo php, éste tiene que responder a la llamada del núcleo de WordPress.

Fíjate en esta imagen, donde trato de ilustrarlo:

Los Ganchos en WordPress

WordPress funciona como una caja cerrada, con unas funciones determinadas, denominada núcleo y cuyo código no tienes por qué entender ni tocar.

Sin embargo, a esa caja puedes “enchufarle” porciones de código que serán ejecutadas cuando sea oportuno, en función de dónde las enchufas. Por tanto, es como si WordPress pusiera a disposición de los desarrolladores un sin fin de “conectores” para “enchufar” su código y que el núcleo lo ejecute.

Por lo tanto, volviendo a simplificar, el archivo .php de un plugin no es más que un fichero que lleva una o más combinaciones de dos elementos:

  • Una función PHP que realiza una determinada tarea, la que tu quieras. Esta función recibirá datos de WordPress y devolverá datos a WordPress en función de a qué conector se haya enchufado.
  • Una línea de código que define a qué conector irá enchufada la función anterior.

Ya está, conceptualmente es así de sencillo.

Dos recursos imprescindibles para el Plugingramador Novel - piopíalo    

Powered by Vcgs-Toolbox

Dos recursos imprescindibles para el Plugigramador Novel

Jejejeje, me he inventado otra palabra. Por lo menos …

Para entender cómo funciona y empezar a romper el hielo, recomiendo visitar estos dos sitios webs:

  • GenerateWp. Es una herramienta online muy útil para generar el código de unas determinadas funciones de WordPress. Así, tu solo rellenas un formulario con los parámetros y esta fantástica herramienta te genera el código PHP. Es muy útil para ir familiarizándote con la nomenclatura y sintaxis de WordPress.
  • WPSnipps. Un catálogo con más de 600 porciones de código específicas para realizar casi cualquier tarea. Este portal, donde muchos usuarios contribuyen con sus códigos, te permitirá coger ejemplos de código ya realizado para añadir directamente a tu tema o plugin.

¿Ves? Aquí tienes mis “armas secretas” para encontrar ejemplos.

Otra cosa que hago mucho es revisar el código de plugins que ya hay hechos para ver cómo lo han enfocado y coger ideas además de aprender. Ahí lo dejo.

Publicar el Plugin: En el catálogo o en archivo ZIP

De verdad, lo que más quebraderos de cabeza me dio al principio de crear Vcgs Toolbox fue el cómo publicarlo en el repositorio oficial de WordPress.

Y es que el proceso, aunque luego te parece tremendamente sencillo, es confuso al principio y más si nunca has usado un sistema de control de versiones.

A grandes rasgos, los pasos a seguir son:

  1. Creas una versión en Zip de tu plugin.
  2. Envías tu plugin al equipo de WordPress para que lo apruebe.
  3. Si es aprobado, te crean una carpeta en el repositorio oficial, que deberás gestionarla con un software de control de versiones como SubVersion.
  4. Teniendo esto, solo tienes que ir creando versiones de tu plugin y mandarlas a tu carpeta para que se publiquen automáticamente.

¿Verdad que parece sencillo? Pues a mi me costó un montón familiarizarme con el sistema de versiones. Seguí este tutorial (unos 20 más).

Ya está …

Bueno, como verás hoy me he salido un poco de la temática general de mis últimos artículos, pero por una razón de peso: me lo ha pedido un lector (que también es amigo).

Y es que, aunque es cierto que no puedes limitarte a seguir todas las sugerencias y peticiones (ya me gustaría), tampoco debes, en mi humilde opinión, olvidar que tu comunidad no es un número sino personas que te ayudan a crecer - piopíalo     y estás ahí para responderles o los perderás.

Quizás este post no te haya resultado interesante pero espero que hayas entendido la razón de publicarlo. ¿Verdad? Amos, la razón está clara: el chiste del principio! Jajajaja.

Bueno, y otra. Porfi, mándame un audio (info arroba vcgs punto net) cantando la canción de Jake y podrás ganar una hora de consultoría por skype … (¿En serio funcionan este tipo de ofertas?) y ¡te divertirás un montón! Por lo menos Javi lo enviará, digo yo…

¿Qué me dices?

¿Qué te ha parecido este artículo?

¡Espero que te haya gustado! ¿Me permites pedirte un favorcito?

1. Participa con tu comentario

Los comentarios son el alma de este blog. Aquí se premia la participación y la comunidad es lo más. ¡Prueba!

Dejar un comentario

2. ¡No olvides compartirlo!

Se llama generosidad: si algo te gusta y puedes compartirlo, ¿por qué no hacerlo?

¡Millones de gracias! Te lo agradezco un montonazo, de verdad.

Acerca del autor

Víctor Campuzano

Growth Hacker no soy, pero lo vivo. De mi blog no vivo, pero aquí si que soy como soy. Marketing Digital, Creatividad y Blogging con pasión y desenfado.

Hazte notar. ¡Participa!

*

22 comentarios

  • Hola Víctor, aunque en estos momentos no tengo pensado hacer ningún plugin para WordPress, tampoco descarto que algún día me ponga manos a la obra a hacer mi pequeña aportación al mundo WordPress, así que gracias por el post. Me ha parecido muy útil para empezar, y los recursos que indicas y el tutorial me parecen una gran aportación.

    Recibe un cordial saludo.

  • Enorme Victor!!!!

    Primero por que te pedí que escribieras sobre eso, y ahí estás tú con tus mismísimos…(se puede decir eso aquí??) y te clavas un articulazo para que nos empecemos a empapar los que queremos lanzarnos a pluguinear un poco…

    Segundo porque no recordaba las páginas y herramientas que en su día me dijiste que usabas para este tema, así que ya tengo algo para guardar bajo llave en favoritos 🙂

    Y tercero por las de horas de consultorías que te vas a tragar por la campaña que no queda otra que iniciar de “Quieres tener una consultoría con un grande??? Cantaaaa!!!!” jajajaj.

    En serio, millones de gracias por este artículo. Sé que se sale de lo que sueles escribir pero a mi me soluciona un Mundo.

    Sin duda esta piedra que has dejado en mi tejado solo puede ser devuelta con un plugin de mi cosecha que me animaré a hacer gracias a tus consejos sobre los primeros pasos…

    Un abrazo y gracias de nuevo 🙂

    PD: Tendré que investigar sobre la canción que no sé cuál es… pero ándate con ojo que el día menos pensado podrías recibir la grabación más chunga que te hayan enviado… ¿tú no me has oído cantar verdad??? jejej.

  • ¡Buena entrada, Víctor! Yo no tengo ni idea de plugins y está bien saber cómo se crean 😉

    La idea del audio me ha sacado una buena carcajada, jajaja ¡Eres total!

  • Hola Víctor.

    Pues este post nos viene ni que pintado, ya que la semana pasada decidimos añadir a la lista de tareas el desarrollo de un plugin para WordPress que te inserte el código de Bloggerespacio en tu blog y haga algunas cosillas más.

    El post está entero escrito a medida para nosotros porque… ¿sabes que mi hija es fan de Jake, Izzi y el resto de los piratuchos?

    Un saludo!

  • Como hace unos días no se publicó un comentario que mandé, lo intento hoy de nuevo por si las arañas gugleras se encuentran de mejor humor.

    Para Víctor y para cualquiera que se atreva, la idea sería hacer un plugin para el comentario perfecto. Si clicáis en mi nick, tendréis las primeras ocho páginas de un ebook que hemos hecho sobre el comentario.

    Las ochenta restantes las sacaremos de los comentarios cruzados que hayan originado las ocho primeras…

  • Genial el post!!!
    Llevo tiempo pensando en la idea de empezar a programar plugins para wordpress.

    Una pregunta, ¿sabes si se puede usar github en vez de subversion?

    Saludos y gracias de nuevo!

    • Hola Pedro!!

      Pues la verdad es que no lo tengo claro. Te diría que no, porque tu directorio de Subversion te lo crean los de WordPress cuando te aprueban el plugin. Ahora bien, igual si se puede.

      Sorry no poder concretar.

      Saludos!

  • Bueno, no creo que hacer plugins sea lo mío, pero el conocimiento nunca está de más 🙂

    Como llevo varios días perdida, no entiendo eso de “la canción de Jake” yo no soy de cantar, al menos no de grabarme cantando, pero por ti, hasta hago el intento ¿Aún hay tiempo? jajaja

    Un abrazo desde Colombia amigo 🙂

  • Hola Víctor, excelente aporte. He visitado http://wpsnipp.com/ como lo sugieres y la verdad es muy completo el sitio pero me topado con un problema que no he podido solucionar. En wpsnipp te indican como crear un nuevo perfil, también te guían para crear un menú con sus items en la columna derecha del administrador, pero lo que no dice es como darle privilegios al rol nuevo al menú nuevo que se creo, sabes como hacerlo? te agradezco mucho tu ayuda.

    Saludos

    • Hola David!

      Tu duda ya es un poquito más avanzada. De hecho, aquí me pillas porque no tengo ni idea de cómo hacerla. En estos casos, yo voy a navegar por los foros del propio WordPress o a Stackoverflow que ahí si que hay auténticos cracks.

      Siento de veras no poder ayudarte, pero te lo digo con total sinceridad: me supera. Jajajaja.

      Saludos y gracias de todas formas por pasarte por aquí! 🙂

  • Hola muchas gracias por tus tutoriales, quería hacerte una pregunta, estoy desarrollando un plugin en el que los usuarios interactúan y en base a las opciones que seleccionan se crea un archivo PDF para que el usuario lo descargué, anteriormente he logrado eso con la librería PHPExcel para Excel pero no consigo una librería para PDF, si conoces alguna podrías recomendarme una que pueda incluir en mi plugin, gracias por tu valioso tiempo.

    • Hola Juan Carlos!! Sorry pero no llego a tanto. Lo veo más una cuestión de PHP que de WordPress. Por tanto, deberías consultarlo en StackOverflow. Ahí seguro que te lo responden en un tris.

      Saludos y gracias por el comentario! 🙂

Uso de cookies

Esta web utiliza cookies propias y de terceros, como Google Analytics, para optimizar su navegación y realizar tareas de análisis y las pertenecientes a WordPress. Advierto que si continuas navegando, aceptas su uso. Puede cambiar la configuración, desactivarlas u obtener más información.

ACEPTAR
Aviso de cookies
Víctor Campuzano

¡Muchísimas gracias por comentar!

Has hecho algo muy grande, que lo sepas. Te estoy tan agradecido que me gustaría ofrecerte un regalo: un ebook sobre "Growth Hacking para impulsar rápidamente tu proyecto". Bueno, y algunas cositas extra que descubrirás si te suscribes. ¿Me aceptarías en tu buzón? Porfi, porfi, porfi...

¡Perfecto! Te has suscrito correctamente

Víctor Campuzano

¡Ey que te mola mi blog ¿eh?!

He detectado que has visto más de 3 páginas en esta sesión y, digo yo... ¿Te está molando? Si es así, suscríbete y recibirás cada nuevo post en tu buzón, regalos exclusivos, contenido privado.. ¡Lo más de mi! ¿Quieres? ¿Si? ¡Bien!

¡Perfecto! Te has suscrito correctamente