Hoy en AyudaWordPress.com | ![]() |
10 habilidades básicas del desarrollador de plugins WordPress Posted: 22 Jun 2014 10:00 PM PDT Los plugins son gran parte de la grandeza y belleza de WordPress y crear tu propio plugin te dará un conocimiento y libertad que no encontrarás si simplemente te limitas a usar lo que otros crean.
Ahora bien, si te lanzas al desarrollo de plugins WordPress no está de más que tengas en cuenta esto 10 consejos básicos para la creación de plugins: :: 1. Creando el plugin ::El primer paso es crear la carpeta de tu plugin en el directorio Un nombre tipo sería algo así: El archivo principal del plugin debe tener la siguiente estructura para que WordPress lo identifique como plugin: <?php /* Plugin Name: Nombre del plugin Plugin URI: http://ayudawp.com/plugins/url-del-plugin Description: Descripción de lo que hace el plugin una vez activo. Version: 1.0 Author URI: http://ayudawp.com Author: Nombre del autor License: GPL2 */ Una vez guardes los cambios, aunque no tenga aún nada el plugin, ya se verá en la página de plugins de WordPress. :: 2. Activación y desactivación del plugin ::Los plugins se pueden activar haciendo clic en el enlace “ Gancho de activación del pluginWordPress ofrece una función denominada function wp_sample_activation() { } register_activation_hook(__FILE__, 'wp_sample_activation'); Tienes que definir la ruta del archivo que contenga la función de activación como primer parámetro y el nombre de la función como segundo parámetro. Si la función de activación está dentro del archivo principal del plugin puedes usar Gancho de desactivación del pluginPodemos gestionar la desactivación de un plugin con function wp_sample_deactivation() { } register_deactivation_hook(__FILE__, 'wp_sample_deactivation'); :: 3. Creación de tablas personalizadas ::La estructura de la base de datos de WordPress y es muy flexible, y puedes implementar la mayoría de las funcionalidades personalizadas usando las tablas que estén disponibles. No obstante, en ocasiones puede que prefieras incluir sistemas más avanzados, como carros de compra, sistemas de gestión de tareas, suscripciones, etc. En estos casos debes saber cómo y cuando crear tablas personalizadas. Lo primero es tener en cuenta los requisitos de tu proyecto y tratar de utilizar la tabla y meta tablas global $wpdb; $wpdb->query("DROP TABLE IF EXISTS {$wpdb->prefix}sample_table"); $sql1 = "CREATE TABLE {$wpdb->prefix}sample_table ( id int(11) NOT NULL AUTO_INCREMENT, activation_code varchar(255) NOT NULL, email varchar(75) NOT NULL, status int(11) NOT NULL, PRIMARY KEY (id) ) ENGINE=InnoDB AUTO_INCREMENT=1;"; require_once(ABSPATH . 'wp-admin/includes/upgrade.php'); dbDelta($sql1); Primero comprobamos si existe la tabla antes de crearla. Puedes decidir crear la tabla en el momento de la activación, dependiendo de lo que necesites. En el ejemplo verás que se utiliza Usando Aunque utilices la función :: 4. Incluyendo Scripts y estilos ::Aunque solo hagas eco de scripts y estilos es recomendable añadir los scripts usando la función add_action('wp_enqueue_scripts', 'sample_scripts'); function sample_scripts() { wp_enqueue_script('jquery'); wp_register_style('sample_style', plugins_url('styles.css', __FILE__)); wp_enqueue_style('sample_style'); wp_register_script('jqueryUICore', plugins_url('ui/jquery.ui.core.js', __FILE__),array("jQuery")); wp_enqueue_script('jqueryUICore'); $config_array = array("sample_name"=>"sample_value"]); wp_localize_script('jqueryUICore', 'sampleData', $config_array); } Primero usas Para terminar, puedes añadir datos que se usarán dentro de scripts concretos usando la función También asegúrate de utilizar la acción :: 5. Creando shortcodes ::Los shortcodes son bloques predefinidos de código que puedes usar en cualquier parte. Es fundamental aprender a usar shortcodes si quieres ser desarrollador de plugins ya que añaden elementos dinámicos a páginas personalizadas. Puedes crear shortcodes usando una sintaxis como la siguiente: add_shortcode("nombre_shortcode", "función_shortcode"); function función_shortcode() { return "<input type='button' value='Compartir' /> "; } Asignas el nombre y función del short code en la función Para utilizar el shortcode en páginas, entradas o plugins y que muestren el botón usarías la sintaxis siguiente: [nombre_shortcode/] :: 6. Filtrado de contenido ::Es fundamental tener en cuenta cómo filtrar el contenido de una entrada o página a la hora de desarrollar un plugin que vaya a usarse en un blog. Echa un vistazo al siguiente ejemplo: function sample_content_filter($content) { $banners = "HTML para banners"; $author = "HTML para información del autor"; return $banners.$content.$author; } add_filter( 'the_content', 'sample_content_filter' ); Cada vez que se visualiza una página o entrada el contenido pasará por la función. Puedes modificar, añadir o quitar contenido como en el ejemplo anterior. También puedes usar tags condicionales de WordPress para filtrar el contenido en páginas concretas. El siguiente código filtra el contenido en una página si es una entrada simple: function sample_content_filter($content) { if(is_single()){ return $banners.$content.$author; } } :: 7. Trabajando con Ajax ::Lo ideal sería que sepas cómo usar Ajax en WordPress para poder así ofrecer contenido interactivo a los usuarios de tu plugin. Un modo fantástico de conseguir este tipo de cosas es usar la funcionalidad Ajax de jQuery. $.post("admin-ajax.php", { action:"sample_ajax_action" }, function(result, textStatus) { }, "json"); La parte más importante del código Ajax anterior es la acción. Se utilizará en el código de WordPress para identificar la petición. Además, todas las peticiones Ajax deberían enviarse al fichero function sample_ajax_action() { echo json_encode($your_result_array); exit; } add_action('wp_ajax_nopriv_sample_ajax_action', 'sample_ajax_action'); add_action('wp_ajax_sample_ajax_action', 'sample_ajax_action'); Puedes ver que el mismo nombre de acción utilizado en Ajax se usa aquí con los prefijos :: 8. Escribiendo peticiones SQL ::En WordPress tenemos que tener en cuenta la seguridad de nuestras peticiones (queries) para evitar inyecciones SQL. Podemos utilizar el método prepare para filtrar los datos de usuario antes de aplicarlos a la petición. También debes filtrar los datos suministrados por los usuarios con el siguiente código antes de procesarlos: $wpdb->query($wpdb->prepare("update wp_sample_table set status=1 where activation_code=%s and status=%d",$activationCode,$status)); Como en el código anterior, asigna siempre caracteres de escape a SQL y valores variables al final, para así filtrar los datos antes de ejecutarlos en SQL. :: 9. Añadir cajas de ajustes ::WordPress ofrece un paquete estándar de campos, tales como título, contenido, imagen y extracto en el pantalla del editor de contenidos. Si queremos que haga algo más necesitaremos campos personalizados. Y no vale solo con la sección de campos personalizados, ya que solo ofrece cajas de texto. Tendremos que añadir campos diferentes si queremos casillas de selección, botones de radio, desplegables y cosas así. Podemos crear fácilmente cajas de ajustes con los que ofrecer campos adicionales como en el siguiente ejemplo: add_action('add_meta_boxes', 'add_custom_fields_box'); function add_custom_fields_box() { add_meta_box('custom_fields_box_id', 'Custom Info', 'display_custom_info_box', 'post', 'normal', 'high'); } function display_custom_info_box() { global $post; $html = "<table><tr><td>Selección personalizada</td><td><input id='custom_checkbox' type='checkbox' name='custom_checkbox' /></td></tr> <tr><td>Selección personal</td><td><select name='custom_select' > <option>Ajuste 1</option> </select></td></tr> <tr><td>Subir archivo</td><td><input id='custom_file' type='file' name='custom_file' /></td></tr></table>"; echo $html; } Los valores de los campos se guardarán como campos personalizados en la tabla :: 10. Uso de nonces para la seguridad del plugin ::La seguridad debe ser tu principal preocupación a la hora de crear plugins WordPress. No debes fiarte de los datos facilitados por los usuarios, y siempre debes validar los datos antes de ejecutarlos. Para ello, WordPress ofrece un concepto denominado “nonce“, que crea un valor nonce, o “número arbitrario usado una sola vez” (del inglés “number used once“), cuando se genera un formulario, de manera que podamos comprobar si existe el mismo valor nonce cuando se envíe el formulario y, de este modo, asegurarnos de si es una petición válida … o no. Puedes crear un valor “nonce” usando el código siguiente: wp_nonce_field('sample_frm_nonce', 'sample_frm_nonce'); El primer parámetro es un identificador único y el segundo parámetro se utilizará como nombre de campo en el formulario oculto. Una vez se envíe el formulario puedes validar el valor nonce usando el siguiente código: if (!isset($_POST['sample_frm_nonce']) || !wp_verify_nonce($_POST['sample_frm_nonce'], 'sample_frm_nonce')){ return; } Si no se valida el nonce no se seguirá procesando la petición. Y creo que por hoy está bien. Por supuesto, la API de WordPress contiene muchísimo más que debes saber para crear plugins, pero estos 10 puntos son fundamentales y – creo que – una buena base desde la que partir si quieres ser un buen desarrollador de plugins WordPress. Para todo lo demás … ¡te toca!, nos lo cuentas en los comentarios. |
You are subscribed to email updates from Ayuda WordPress To stop receiving these emails, you may unsubscribe now. | Email delivery powered by Google |
Google Inc., 20 West Kinzie, Chicago IL USA 60610 |
No hay comentarios:
Publicar un comentario