Documentos de Académico
Documentos de Profesional
Documentos de Cultura
org
Codex
Interested in functions, hooks, classes, or methods? Check out the new WordPress Code Reference!
es:Escribiendo un Plugin
Introduccin
Los Plugin de WordPress permiten, de una forma sencilla, la modificacin,
personalizacin y mejora de bitcoras WordPress. En vez de modificar el ncleo del
programa de WordPress, se puede aadir funcionalidad a ste por medio de los plugin
de WordPress. Esta es una definicin bsica:
Contents
1 Introduccin
1.1 Recursos
2 Creando un Plugin
2.1 Nombres, Archivos y
Ubicaciones
Desea que WordPress tenga una funcionalidad nueva o modificada? Lo primero que
Plugin
hay que hacer es buscar en los repositorios de WordPress para saber si alguien ya ha
2.2.2 Licencia
creado el plugin que se ajuste a sus necesidades. Si no es as, este artculo le guiar a
travs del proceso de creacin de su propio plugin WordPress.
Este artculo asume que usted est familiarizado con la funcionalidad bsica de WordPress
Recursos
Para comprender como funcionan los plugin WordPress y como se instalan en
bitcoras WordPress, consulte Plugins.
Hay una lista exhaustiva de artculos y recursos para desarrolladores de plugin,
Plugin
4 Recursos Externos
Una vez haya escrito el plugin WordPress, lea Envo y Promocin de Plugin para aprender como distribuirlo y compartirlo con los
dems.
Creando un Plugin
Esta seccin del artculo le conducir a travs de los pasos que usted necesita seguir, y las cosas a considerar, en la creacin de un
plugin para WordPress bien estructurado.
Archivo Readme
Si usted desea hospedar su plugin en http://wordpress.org/extend/plugins/, necesita, adems, crear un archivo readme.txten
formato estndar, e incluirlo con su plugin. Consulte http://wordpress.org/extend/plugins/about/readme.txt para obtener una
descripcin del formato de este archivo.
Pgina de Inicio
Es muy til crear una pgina que haga de pgina de inicio del plugin WordPress. Esta pgina podra describir como instalar el plugin,
qu hace, con qu versiones de WordPress es compatible, qu ha cambiado entre sus diferentes versiones, y cmo utilizar el plugin.
Cabeceras de Archivo
Ahora es tiempo ya de poner algo de informacin en el archivo PHP principal del plugin.
cabecera permite a WordPress reconocer que el plugin existe, y ponerlo en la pantalla de gestin para que pueda ser activado,
cargado y ejecutar sus funciones. Sin esta cabecera, su plugin no podr ser activado ni funcionar. Este es el formato de la cabecera:
<?php
/*
Plugin Name: Nombre del plugin
Plugin URI: http://URI_De_La_Pgina_Que_Describe_el_Plugin_y_Actualizaciones
Description: Una breve descripcin del plugin.
Version: El nmero de versin del plugin e.j.: 1.0
Author: Nombre del autor del plugin
Author URI: http://URI_del_Autor_del_Plugin
License: Un nombre de licencia "pegadizo" e.j. GPL2
*/
?>
El mnimo de informacin que WordPress necesita para reconocer su plugin es el nombre del mismo. El resto de la informacin (si
est presente) se utilizar para crear la tabla de plugin en la pantalla de gestin de plugins. El orden de las lneas no es importante.
La lnea de licencia debera ser un identificador comn, corto, para sealar bajo que licencia se distribuye el cdigo y est destinado
a ser una forma sencilla de ser explcito acerca de la licencia del mismo.
Licencia
Se acostumbra a generar la cabecera estndar, con informacin sobre la licencia del plugin. Muchos plugin usan la licencia GPL2,
utilizada por WordPress, o una licencia compatible with the GPL2. Para indicar una licencia GPL2 incluya las siguientes lneas en su
plugin:
<?php
/* Copyright AO NOMBRE_AUTOR_PLUGIN (email: EMAIL DEL AUTOR DEL PLUGIN)
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License, version 2, as
published by the Free Software Foundation.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
?>
Programando su Plugin
Ahora es momento de conseguir que el plugin haga algo. Esta seccin contiene ideas generales el desarrollo de plugins, y describe
como llevar a cabo las diversas tareas que su plugin necesitar hacer.
Etiquetas de Plantilla
Otra forma en la que un plugin puede aadir funcionalidad al WordPress es creando Etiquetas de Plantilla personalizadas. Alguien
que quiera utilizar su plugin puede aadir estas "etiquetas" a su plantilla, en su barra lateral, seccin de contenido del post, o donde
crea adecuado. Por ejemplo, un plugin que aade etiquetas geogrficas a los post, podra definir una funcin para etiqueta de
plantilla llamada geotag_lista_estado()para la barra lateral, que lista todos los cdigos de estado, con los links a las pginas
de archivo de estados que el plugin activa.
Para definir una etiqueta de plantilla personalizada, solo hay que escribir una funcin PHP y documentarla para usuarios del plugin
en la pgina de inicio del plugin y/o en el archivo principal PHP del plugin. Es una buena idea, cuando se documenta la funcin, dar
un ejemplo de lo que hay que aadir exactamente a la plantilla para utilizar la funcin, incluyendo <?phpy ?>.
de informacin llamadas ("options"). Los valores de Opcin pueden ser cadenas, matrices u objetos PHP (stos se "serializarn" sern convertidos a cadenas - antes de su almacenamiento, y de-serializarn en el momento en que se recuperen). Los nombres de
Opcin son cadenas, y deben ser nicas, de forma que no entren en conflicto con otros plugins o el mismo WordPress.
Aqu estn las principales funciones que su plugin puede utilizar para acceder a las opciones de WordPess.
$name
Requerido (string). Nombre de la opcin a aadir.
$value
Opcional (mixed), el valor por defecto es una cadena vaca. El valor de opcin a almacenar.
$deprecated
Opcional (string), no se usa ya en WordPress. Usted puede pasar una cadena vaca o null si quiere utilizar el siguiente parmetro
$autoload.
$autoload
Opcional, por defecto 'yes' (enum: 'yes' o 'no'). Si se establece como 'yes' la configuracin se recupera automticamente de la
funcin get_alloptions.
get_option($option);
$option
Requerido (string). Nombre de la opcin cuyo valor usted quiere recuperar. Puede encontrar una lista de las opcines por defecto
instaladas con WordPress en Referencias de Opciones.
update_option($option_name, $newvalue);
Actualiza o crea un valor de opcin en la base de datos (tenga en cuenta que no hay que llamar a add_optionsi usted no desea
utilizar los parmetros $deprecatedo $autoload).
$option_name
Requerido (string). Nombre de la opcin a actualizar.
$newvalue
Requerido. (string|array|object) El nuevo valor de la opcin.
Paneles de Administracin
Asumiendo que su plugin tiene opciones almacenadas en la base de datos de WordPress (mirar la seccin anterior), usted,
probablemente, querr disponer de un panel de administracin que permita a los usuarios de su plugin ver y editar los valores de
dichas opciones. Los mtodos para hacer esto se encuentran detallados en Aadiendo Mens de Administracin.
Internacionalizando Su Plugin
Internacionalizando Su Plugin
Una vez usted haya realizado la tarea de programar su plugin, la siguiente consideracin es (asumiendo que usted planea
distribuirlo) la internacionalizacin. Internacionalizacin es el proceso de configurar software de forma que pueda ser localizado;
Localizacin es el proceso de traducir el texto mostrado en diferentes lenguajes. WordPress se utiliza a todo lo largo del mundo, de
forma que tiene herramientas de localizacin e internacionalizacin en su estructura, incluyendo localizacin para plugins.
Por favor, tenga en cuenta que lo archivos de lenguaje para plugins NO se cargan automticamente. Aada al cdigo del plugin, para
estar seguro de que se cargan los archivos de lenguaje:
load_plugin_textdomain('su_nombre_nico','/wp-content/plugins/plugin-name/ubicacin-de-los-archivos_mo_po/');
Para buscar una cadena solo tiene que utilizar __('nombre de la Cadena','su nombre nico'); para obtener la traduccin o _e('nombre
de la Cadena','su nombre nico'); para mostrar (echo) la traduccin.
El siguiente ejemplo busca los archivos mo y po dentro del mismo directorio del plugin:
load_plugin_textdomain('su_nombre_nico', false, dirname( plugin_basename( __FILE__ ) ) );
Est altamente recomendado que internacionalice su plugin, de forma que los usuarios de diferentes pases puedan localizarlo. Hay
una referencia exhaustiva sobre internacionalizacin, incluyendo una seccin que describe como internacionalizar su plugin en I18n
para Desarrolladores de WordPress.
Elimine errores de PHP en sus plugin. Aada define('WP_DEBUG', true);a su archivo wp-config.php, compruebe toda la
funcionabilidad del plugin, y chequee si hay errores y/o avisos. Arregle cualquier incidencia y continue en modo debug hasta que
se hayan eliminado todos los errores.
Intente no utilizar directamente las etiquetas <script> y <style> - en su lugar utilice las funciones recomendadas
wp_enqueue_style() y wp_enqueue_script(). Estas ayudan a eliminar scripts y estilos duplicados y, adems, introducen soporte de
dependencias. Consulte post de las siguientes personas para ms informacin: Ozh Richardson, Artem Russakovskii, y Vladimir
Prelovac.
Recursos Externos
Top 10 Most Common Coding Mistakes in WordPress Plugins (11SEP09)
WordPress 2.0.3: Nonces (Secure your forms with nonces) (02JUN06)
Simplified AJAX For WordPress Plugin Developers using Jquery(10APR08)
"Desenvolvendo Plugins para WordPress" by Rafael Dohms (in Brazilian Portuguese) (10MAR08)
12 part "How to Write a Wordpress Plugin" at DevLounge.net por Ronald Huereca (PDF)
How to create WordPress Plugin from a scratch (9AUG07)
Using AJAX with your WordPress Plugin, also at DevLounce.net (25MAY07)
How to Write a Simple WordPress Plugin at ATD (22FEB05)
WordPress Plugin Creation Saving Options (13APR09)
HookPress, un plugin que permite modificar Worpress con lenguajes diferentes a PHP a travs de webhooks. (26SEP09)
How To Include CSS and JavaScript Conditionally And Only When Needed By The Posts (13JAN10)
Demonstrating how to use the Settings API, WP_Http, and Pseudo-cron (01MAR10)
Categories:
Plugins
WordPress Development
Home Page
WordPress Lessons
Getting Started
Working with WordPress
Design and Layout
Advanced Topics
Troubleshooting
Developer Docs
About WordPress
Codex Resources
Community portal
Current events
Recent changes
Random page
Help
About
Support
Showcase
WordCamp
Blog
Developers
Plugins
WordPress.TV
Hosting
Get Involved
Themes
BuddyPress
Jobs
Learn
Ideas
bbPress
WordPress.com
Follow @WordPress
Matt
Me gusta
Privacy
License / GPLv2
+10K
1 milln