Sin categoría

Crear un plugin para wordpress (1)

Compruebe en Plugin y en otros repositorios referidos en el enlace, que el nombre no exista ya;

el archivo de plugin.php se coloca en la carpeta wp-content/plugins/.


Archivo Readme

Si usted desea hospedar su plugin en http://wordpress.org/extend/plugins/, necesita, además, crear un archivo readme.txt en formato estándar, e incluirlo con su plugin. Consulte http://wordpress.org/extend/plugins/about/readme.txt para obtener una descripción del formato de este archivo.


 

Información Estándar del Plugin

Las primeras líneas del archivo PHP principal del plugin deben contener la cabecera estándar de información del plugin. Esta cabecera permite a WordPress reconocer que el plugin existe, y ponerlo en la pantalla de gestión 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_Página_Que_Describe_el_Plugin_y_Actualizaciones
Description: Una breve descripción del plugin.
Version: El número de versión 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
*/

defined( ABSPATH ) or die( ¡Sin trampas! ); //obligatorio colocar esto (prevenir el acceso directo a tus archivos)
?>


Enlace externo: https://mikejolley.com/2013/08/13/keeping-your-shit-secure-whilst-developing-for-wordpress/

Licencia

Se acostumbra a generar la cabecera estándar, con información 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 líneas en su plugin:

<?php
/* Copyright AÑO 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
*/
?>

Luego procede a agregar las funciones del plugin con los hooks, funciones, clases y métodos…


Ganchos (hooks) de Plugin WordPress

UN ejemplo es el gancho “action” llamado “wp_footer”. Justo antes del final de la página HTML que WordPress está generando, comprueba si algún plugin ha registrado funciones para el gancho de acción “wp_footer” y los ejecuta por turno.


Guardando Información del Plugin en la Base de Datos

Muchos plugin de WordPress necesitan coger información de la web del propietario o los usuarios de la bitácora y salvarla entre sesiones, para usarla en sus funciones de filtro, acción o de plantilla. Esta información tiene que salvarse en la base de datos de WordPress, con el fin de ser persistente entre sesiones. Hay dos métodos básicos para guardar información en la base de datos desde el plugin:

  1. Utilice el mecanismo de WordPress “option” (descrito más adelante). Este método es apropiado para almacenar cantidades relativamente pequeñas de porciones de información relativamente estática — el tipo de información que usted podría esperar que el propietario de la web introdujera en la primera configuración del plugin, y que raramente fuera a cambiar en el futuro.
  2. Post Meta (también conocido como Custom Fields). Apropiado para información asociada a posts individuales, páginas o adjuntos. Consulte Ejemplos de la función post_metaadd_post_meta(), y funciones relacionadas.
  3. Crear una tabla de base de datos nueva y personalizada. Este método es apropiado para datos asociados con post individuales, páginas, adjuntos o comentarios — el tipo de datos que irá creciendo según pasa el tiempo, y que no tiene nombres individuales. Consultar Creando Tablas con Plugins para información sobre como hacer ésto.

 


Sugerencias sobre Desarrollo de Plugin

Esta última sección contiene sugerencias aleatorias sobre el desarrollo de plugin.

  • El código de un plugin WordPress debería seguir los Estándar de WordPress Coding. Por favor, también considere los estándar Documentación en Línea.
  • Todas las funciones en su plugin necesitan tener nombres únicos que sean diferentes de los de funciones del núcleo de WordPress, otros plugins y plantillas. Por esta razón, es una buena idea utilizar un prefijo de nombre de función en todos sus plugins. Otra posibilidad es definir sus funciones de plufin dentro de una clase (que, a su vez, necesita tener un nombre único).
  • No utilice el prefijo de bases de datos (normalmente “wp_”)de WordPress directamente en sus plugins. Asegúrese de que utiliza la variable $wpdb->prefix en su lugar.
  • Leer la base de datos es barato, pero escribir es caro. Las bases de datos son excepcionalmente buenas recuperando datos y ofreciéndosela a usted y estas operaciones son (normalmente) veloces como el rayo. El hacer cambios en la base de datos, es un proceso más complejo, y más caro desde el punto de vista computacional. Como resultado, intente minimizar la cantidad de escritura que usted hace en la base de datos. Deje todo preparado en su código primero, de forma que usted hace las operaciones de escritura estrictamente necesarias.
  • SELECT solo lo que se necesita. A pesar de que las bases de dato recuperan información realmente rápido, usted debería intentar de reducir la carga sobre la base de datos, seleccionando solo la información sobre la que quiere trabajar. Si usted necesita únicamente contar el número de líneas de una tabla no haga SELECT * FROM, porque se cargarán todos los datos de cada registro, desaprovechando memoria. Así mismo, si solo necesita el post_id y el post_author en el plugin, simplemente SELECTesos campos específicos, para minimizar la carga de la base de datos. Recuerde: cientos de procesos diferentes pueden estar consultando la base de datos al mismo tiempo. La base de datos y el servidor tienen recursos limitados para atender dichos procesos. Aprender como minimizar el impacto de sus plugins en la base de datos asegurará que el suyo no sea el señalado como culpable de abuso de recursos.
  • Elimine errores de PHP en sus plugin. Añada 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, además, introducen soporte de dependencias. Consulte post de las siguientes personas para más información: Ozh RichardsonArtem Russakovskii, y Vladimir Prelovac.

 


Lo mas importante . Las APIS

  • Plugins API. Es la API más básica que debemos dominar para poder extender WordPress con nuestros plugins.
  • Settings API. Ofrece un conjunto de operaciones para crear páginas de configuración de nuestro plugin.
  • Options API. Permite almacenar (y recuperar) las opciones de configuración de nuestro plugin.
  • Widgets API. Permite crear nuevos widgets que podrán añadirse a una instalación de WordPress y ser visibles desde el front-end.

ENLACE: https://codex.wordpress.org/WordPress_APIs

<?php
* Plugin Name: Ejemplo de WPrincipiante
* Plugin URI: http://wprincipiante.es
* Description: Este plugin modifica los títulos de las entradas.
* Version: 1.0.0
* Author: David Aguilera
* Author URI: http://neliosoftware.com
* Requires at least: 4.0
* Tested up to: 4.3
*
* Text Domain: wprincipiante-ejemplo
* Domain Path: /languages/
*/
defined( ABSPATH ) or die( ¡Sin trampas! );

Enlaces externos HOOK , FUNCIONES, CLASES Y METODOS (ingles y español):

https://developer.wordpress.org/reference/

https://codex.wordpress.org/Plugin_API

https://codex.wordpress.org/API_Plugin

 

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

w

Conectando a %s