Este documento describe el proceso de creación de un plugin de WordPress y su subida a WordPress.org. Explica las estructuras básicas de directorios y archivos para un plugin, incluyendo un archivo principal con cabecera, archivos CSS y JavaScript. Detalla cómo añadir funcionalidad mediante filtros y ganchos de WordPress. Finalmente, resume los pasos para contribuir el plugin al repositorio de WordPress.org, incluyendo validación automática y manual y subida al repositorio SVN.
WordCamp Sevilla 2016 - Creación de un plugin con subida a WordPress.org
1. Creación de un plugin con subida a WordPress.org
Raúl Martínez
2. ● Desarrollador WordPress en
una empresa de la UOC
● Con WordPress desde 2010
● Desarrollador plugins
● Co-organizador de WordPress
Granollers
● Blogger en http://raulwp.com
Yo
#WCSevilla16 - @ffreaker
3. ¿ Qué es un plugin ?
Es algo que hace algo.
#WCSevilla16 - @ffreaker
4. Extiende o añade funcionalidad de WordPress
Lorie Shaull (the Noun Project)
#WCSevilla16 - @ffreaker
5. Antes de hacer un plugin...
#WCSevilla16 - @ffreaker
No siempre necesitamos un plugin para conseguir nuestro objetivo.
No reinventes la rueda: revisa WordPress.org (47000 plugins disponibles).
9. ¿ Qué vamos a hacer ?
Plugin que añade imágenes aleatorias dentro de nuestros posts.
Usaremos:
- PHP (¡ qué sorpresa !)
- CSS
- jQuery
#WCSevilla16 - @ffreaker
10. Creación: estructura básica
1. Crear directorio wcsevilla2016 dentro de /wp-content/plugins/
2. Crear fichero wcsevilla2016 .php dentro de /wp-content/plugins/
#WCSevilla16 - @ffreaker
11. Fichero principal
Añadimos cabecera para que WordPress reconozca el plugin.
/**
* Plugin Name: WordCamp Sevilla 2016
* Description: Incluye una imagen aleatoria antes de cada post.
* Text Domain: wcsevilla2016
* Version: 1.0
* Author: Raúl Martínez
* Author URI: https://profiles.wordpress.org/xyulex/
* License: GPLv2 or later
* License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/
#WCSevilla16 - @ffreaker
12. CSS
Desarrollamos nuestro CSS normalmente
Incorporamos el CSS en WordPress con
wp_enqueue_style( 'wordcamp-css', plugins_url( '/css/style.css', __FILE__ ) );
#WCSevilla16 - @ffreaker
13. Javascript
Desarrollamos nuestro jQuery (o Javascript) normalmente
Incorporamos el fichero en WordPress con:
wp_enqueue_script( 'jquery' );
wp_enqueue_script( 'wordcamp-js', plugins_url('/js/functions.js', __FILE__) );
#WCSevilla16 - @ffreaker
14. La magia de WordPress
Utilizamos un filtro para la funcionalidad principal.
Básicamente, interceptamos el contenido a mostrar-
add_filter( 'the_content', 'imagen_destacada_random' );
#WCSevilla16 - @ffreaker
18. Contribuyendo
Crear fichero readme.txt dentro de /wp-content/plugins/wcsevilla2016/
Permite al repositorio de plugins crear la página
https://developer.wordpress.org/plugins/wordpress-org/how-your-readme-txt-works/
#WCSevilla16 - @ffreaker
25. Enlaces de interés
Buenas prácticas:
https://developer.wordpress.org/plugins/the-basics/best-practices/
Proceso de review:
http://wordpress.tv/2016/03/29/mika-epstein-plugin-reviews-demystified-how-to-review-a-plugin/
Plugin demo:
https://github.com/xyulex/wcsevilla2016
#WCSevilla16 - @ffreaker
1. creación plugin (30')
1.0 quien soy
1.1 qué es un plugin? (5')
1.2 estructura básica de un plugin (5')
1.2.1 readme.txt (para engarzar con el 2.1.2)
1.3 creación plugin (20')
2. subida a wordpress (15')
2.1 pasos para la subida
2.1.1 clonar repositorio (wp va con svn)
2.1.2 explicación repositorio trunk / branches
2.2 proceso de review
2.2.1 automático
2.2.2 manual (ipstenu)
2.2.3 subida al repo
3. dudas (15')