Johan de Bruin

Programación en php, tutorial de api wordpress y posicionamiento en buscadores seo.

Crear y configurar un widget de wordpress

Para crear un widget con wordpress solo debemos definirlo en el archivo donde alojemos el plugin de wordpress, no obstante, un widget permite ajustar una serie de opciones, en el siguiente codigo de programación aprenderemos a aprovechar el potencia de widgets de wordpress para que podamos añadir facilmente aplicaciones en los sidebar de tu blog.

  function miplugin_Widget($args = array())
  {
      global $user_ID, $user_identity, $wp_wall_plugin_url;
      // extract the parameters
      extract($args);
 
      // get our options
      $options = get_option('miplugin');
      $titulo= $options['miplugin_titulo'];
 
      // Estas variables son por cuestión de compatibilidad del theme
      echo $before_widget;
      echo $before_title . $titulo. $after_title;
 
      // El texto y código que inluirá nuestro widget
      echo "HOLA MUNDO!";
 
      echo $after_widget;
  }
 
//Desarrollamos lo que debe hacer el plugin al activarse
function miplugin_init()
{
     register_sidebar_widget('Nombre plugin','miplugin_Widget');
     register_widget_control('Nombre plugin','miplugin_WidgetControl');
}
//Acción que indica la función de activación del plugin
add_action('init','miplugin_init');

Con estas lineas de código podemos cambiar las opciones del plugin con tal de que podamos establecer el título del widget que aparecerá en el sidebar.

function miplugin_WidgetControl()
{
      // Obtenemos los valores preestablecidos
      $options = get_option('miplugin');
      // Cambiamos las opciones en caso de que haya un post
      if ($_POST["miplugin_submit"]) {
          // retireve wall title from the request
          $options['miplugin_titulo'] = strip_tags(stripslashes($_POST["miplugin_titulo"]));
          // update the options to database
          update_option('miplugin', $options);
      }
      $titulo = $options['titulo'];
      // Lo que se imprime en las opciones del widget
      ?>
<p>
Titulo: <input  name="miplugin_titulo" type="text" value="<?php echo $titulo; ?>" />
<input type="hidden" id="miplugin_submit" name="miplugin_submit" value="1" />
</p>
     <?
}

Leave a Response