En este tutorial aprenderás a crear un plugin para WordPress, para el ejemplo haremos un plugin que coloque un banner donde

se ponga el codigo del plugin, el contenido de este banner sera definidio en el panel de control de WordPress.

Paso 1
Creamos un archivo que se llame “banner.php” , puede ponerle el nombre que desees, en este caso utilizaremos un solo archivo, así que no es necesario crear una carpeta pero si son mas archivos es necesario crear una carpeta y lo ubicamos dentro de la carpeta /plugins que esta en /wp-contents.

Paso 2
En las primeras lineas de banner.php definimos la información que se muestra en el panel de control, en el área de Plugins:
1 <?php 2 3 4 5 6 7 8 9

/* Plugin Name: Nombre del plugin. Plugin URI: Url del plugin. Description: Descripcion.

Version: Numero de versiones 1,2,..10. Author: Nombre del autor. Author URI: Pagina personal del autor. */

Paso 3
Ahora crearemos una función que se llame “banner” esta almacenara el tag o shortcode para mostrar el banner. WordPress ofrece global $wpdb, que es una clase global para hacer consultas con la base de datos donde esta instalado WordPress, asi podemos llamar al prefijo de la instalacion de WP (wp_) para poder hacer consultas a la base de datos.
1 2 3 4 function banner(){ global $wpdb; $table_name = $wpdb->prefix . "banner"; $saludo= $wpdb->get_var("SELECT banner FROM $table_name ORDER BY

puedes leer mas de esta clase en este enlace . simplemente hacemos una consulta DROP a la tabla creada en la base de datos. 1 function banner_instala(){ 2 3 4 5 6 7 8 9 10 global $wpdb. $wpdb->query($sql). lo muestra } Funciones de instalación y desinstalación del plugin Crearemos una función especifica para instalar el plugin. $sql = "DROP TABLE $table_name". 1. "banner". 12 } $wpdb->query($sql). que almacenara el valor del banner propiamente dicho. PRIMARY KEY ( `id` ) ) . " ). 6 echo $banner. despues de seleccionar el valor de la tabla. //todo se resume en esta linea. $sql = "INSERT INTO $table_name (banner) VALUES ('Banner aqui'). 1 function banner_desinstala(){ 2 3 4 5 6 } global $wpdb. para eliminarla. este valor se definirá en la pagina de configuración del plugin que crearemos mas adelante. Lo que hace es crear una tabla con un solo dos campos (id y banner). esta función hará un query SQL para crear una nueva tabla donde se almacenara el contenido del banner que deseamos poner. $sql = " CREATE TABLE $table_name( id mediumint( 9 ) NOT NULL AUTO_INCREMENT . // 11 Banner aqui es el valor por defecto que tendra el campo.". $wpdb->query($sql). banner text NOT NULL .". Ahora para la función que desinstala un plugin. "banner". Nota: en ambas funciones siempre se llama a la clase global $wpdb para obtener el prefijo de las tablas y ejecutar querys.5 RAND() LIMIT 0. $table_name= $wpdb->prefix . $table_name = $wpdb->prefix .

$banner."` SET `banner` = '{$_POST['banner_inserta']}' WHERE `id`=1. } .'<form method="post" action="" id="banner"><table class="form- 13 table">' 14 15 . if(isset($_POST['banner_inserta'])){ $banner=$_POST['banner_inserta']. 1 function banner_panel(){ 2 3 4 5 6 7 global $wpdb.". $table_name = $wpdb->prefix . } .$table_name. esto es básicamente un formulario que lo que hace es actualizar el valor del banner haciendo un query UPDATE a la tabla creada.'<textarea name="banner_inserta" cols="70" rows="2" 16 id="banner_inserta" class="large-text code">'.'</form>'. 9 10 11 12 } // El formulario que esta en la pagina de configuracion del plugin echo '<h2>Banner in Post</h2><br />' .'</td></tr></tbody></table><br><input type="submit" name="enviar" value="Save Changes" class="button-primary" id="submit" />' . 1. "banner".'</textarea>' 17 18 19 20 21 22 if(isset($_POST['banner_inserta'])){ $sql = "UPDATE `". " ).Paso 4 Haremos ahora la parte que se mostrara en la pagina de configuración de nuestro plugin en el menú de administración de WordPress. $wpdb->query($sql). }else{ $banner= $wpdb->get_var("SELECT banner FROM $table_name ORDER BY 8 RAND() LIMIT 0.'<tbody><tr><th><label>Insert your Banner:</label></th><td>' .

lo que hace esta función es aplicar todo lo anterior: . llamamos a add_options_page(). Para aplicar la función que creamos anteriormente. basename(__FILE__). 5 } } if (function_exists('add_options_page')) { Paso 5 Por ultimo llamamos a add_action(). 'Banner'. también se rellana si el valor ya ha sido definido en la tabla anteriormente. es aquí en este textarea donde se define el valor del banner a mostrar. 10. puedes ver la pagina del Codex de menus de administración.Cuando se hace el llamado a $_POST['banner_inserta'] se esta solicitando mediante $_POST el valor del textarea que tiene como nombre „banner_inserta‟. 1 function banner_add_menu(){ 2 3 4 add_options_page('Banner'. el numero 10 indica que solo lo podrá ver el administrador. 'banner_panel').

php'. add_action('deactivate_banner/banner. Para colocar el banner ponemos el codigo: 1 <?php banner().'banner_instala'). tal como creaste el nombre de donde se ejecuta la función debe ir en activate y deactivate.php'.1 if (function_exists('add_action')) { 2 3 4 5 } add_action('admin_menu'. add_action('activate_banner/banner. 'banner_add_menu'). 'banner_desinstala'). . ?> En cualquier archivo de nuestra plantilla y se mostrara. Recuerda que los nombres deben estar bien escritos.

Sign up to vote on this title
UsefulNot useful