Está usted en Indice > Construcción > Lenguajes > PHP > Lecciones y Paso a Paso > Cómo crear un plugin para WordPress
Construcción
Maletín
Utilidades
Cursos
Promoción
Rentabilidad
Zona Novatos
Foros
Acceso a tu cuenta

Cómo crear un plugin para WordPress (2)

Ahora ya puedes usar tu maravilloso y complejo plugin, sólo debes colocar en la sección de tu template que estimes conveniente lo siguiente:

Código :

<?php saludo(); ?>

Ahora nos toca crear un item dentro del panel de administración que nos permita modificar las opciones de este maravilloso plugin, este item lo crearemos dentro del menú opciones, para esto contaremos con 3 funciones:
  • saludo_panel: donde incluiremos el html que será expresado en nuestro panel, como a mí no me gusta mezclar html dentro de la programación usaremos la función include() a modo de template .
  • saludo_add_menu: donde se usará a su vez la función de WP add_options_page.
  • add_action: para desencadenar todo esto usaremos esta función que es también parte del API de WP.

Código :

<?php
// ya sabemos que hay arriba  /
   
   function saludo_panel(){      
      include('template/panel.html');
   }
   function saludo_add_menu(){   
      if (function_exists('add_options_page')) {
         //add_menu_page
         add_options_page('saludo', 'saludo', 8, basename(__FILE__), 'saludo_panel');
      }
   }
   if (function_exists('add_action')) {
      add_action('admin_menu', 'saludo_add_menu');
   }
      
// ya sabemos que hay abajo   / 
?>

crea el archivo y carpeta "template/panel.html" pues vamos a escribir un fromulario muy sencillo para que veamos que esto va resultando:

Código :

<form method="post" action="" id="saludo">
<label for="saludo_inserta" accesskey="s">Inserte su saludo<input type='text' id='saludo_inserta'  name='saludo_inserta' value='' /></label>
<input type='submit' name='' value='enviar' />
</form>

y modificaremos la función saludo_panel para poder visualizar nuestros logros

Código :

<?php
// ya sabemos que hay arriba  /
   
   function saludo_panel(){      
      include('template/panel.html');
   }
   echo "<h1>{$_POST['saludo']}</h1>";
   
// ya sabemos que hay abajo   / 
?>

Ahora probaremos que esto resulta escribiendo la siguiente verdad "Joomla apesta". Si al pulsar 'enviar' aparece esto significa que vamos bien.

Ahora desinstalaremos el plugin en el panel de control, no es que vayamos a dejar de usar nuestro maravilloso plugin, sólo es que modificaremos la función saludo_instala() y saludo_desinstala() para poder instalar y desinstalar respectivamente la DB que usaremos más adelante.
Ojo para usar las funciones de WP que manejan la DB tendremos que llamar $wpdb con: global $wpdb;

Código :

<?php
// ya sabemos que hay arriba  /

function saludo_instala(){
   global $wpdb; // <-- sin esto no funcionara nada con la DB no cambies nada
   $table_name= $wpdb->prefix . "saludos";
   $sql = " CREATE TABLE $table_name(
      id mediumint( 9 ) NOT NULL AUTO_INCREMENT ,
      saludo tinytext NOT NULL ,
      PRIMARY KEY ( `id` )   
   ) ;";
   $wpdb->query($sql);
   $sql = "INSERT INTO $table_name (saludo) VALUES ('Hola Mundo');";
   $wpdb->query($sql);
}   

function saludo_desinstala(){
   global $wpdb;
   $tabla_nombre = $wpdb->prefix . "saludos";
   $sql = "DROP TABLE $tabla_nombre";
   $wpdb->query($sql);
}   
   
// ya sabemos que hay abajo   / 
?>

ahora agregaremos datos a la DB desde nuestro panel en opciones/saludo para lo cual modificaremos la función saludo_panel()

Código :

<?php
// ya sabemos que hay arriba  /

function saludo_panel(){
   include('template/panel.html');         
   global $wpdb;
   $table_name = $wpdb->prefix . "saludos";
   if(isset($_POST['saludo_inserta'])){   
         $sql = "INSERT INTO $table_name (saludo) VALUES ('{$_POST['saludo_inserta']}');";
         $wpdb->query($sql);
   }
}
      
// ya sabemos que hay abajo   / 
?>

Ahora que ya podemos insertar saludos en nuestra DB sólo nos queda poder mostrarlos en nuestra función saludo() para esto consultaremos tan solo un saludo de manera random a nuestra DB (ojo con el sql)

Código :

<?php
// ya sabemos que hay arriba  /

function saludo(){
   global $wpdb;
   $table_name = $wpdb->prefix . "saludos";
   $saludo= $wpdb->get_var("SELECT saludo FROM $table_name ORDER BY RAND() LIMIT 0, 1; " );
   include('template/saludo.html');      
}
   
// ya sabemos que hay abajo   / 
?>

Ahora modificaremos nuestro saludo.html para que imprima la variable $saludo

Código :

<h1><?php echo $saludo;?></h1>

Para terminar vamos modificar el html de nuestro panel para que se adapte al html del administrador de WP

Código :

 <div class="wrap">
   <form method="post" action="">
      <fieldset>
         <legend>Ingresar Nuevo Saludo</legend>
         <label for="saludo" accesskey="s">Inserte su saludo<input type='text' id='saludo_inserta'  name='saludo_inserta'  /></label>
         <input type='submit' name='' value='enviar' />
      </fieldset>
   </form>
</div>
Ya tenemos listo nuestro plugin, también podríamos eliminar registros, pero eso se los dejo a su imaginación




Autor: Inyaka
http://www.cristalab.com/tips/54308/como-crear-un-plugin-para-wordpress

Usuarios que han visto este tema también han visto...

- Recoger datos del formulario POST en PHP
- Generar documentos OpenOffice con PHP
- Como alternar los colores de las filas de una tabla con PHP
- heredoc en PHP
- Usuarios activos con PHP con base de datos


Versión imprimible - Versión imprimible de este documento
Enviar e-mail - Enviar por e-mail este documento
Publicidad






Cursos de Community Manager

Información legal | Política de Privacidad | Contacte con nosotros

Otro proyecto de Factoría de Internet. Copyright© 2003-2011 Factoría de Internet S.L.. Todos los derechos reservados.


Página generada el 25-05-2012 a las 23:56:39