<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Johan de Bruin &#187; Plugin wordpress</title>
	<atom:link href="http://www.johandebruin.com/t/plugin-wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.johandebruin.com</link>
	<description>Programación en php, tutorial de api wordpress y posicionamiento en buscadores seo.</description>
	<lastBuildDate>Sun, 05 Feb 2012 15:18:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Añadir opciones a un plugin wordpress</title>
		<link>http://www.johandebruin.com/anadir-opciones-a-un-plugin-wordpress/</link>
		<comments>http://www.johandebruin.com/anadir-opciones-a-un-plugin-wordpress/#comments</comments>
		<pubDate>Thu, 18 Mar 2010 14:18:29 +0000</pubDate>
		<dc:creator>Johan</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Añadir opciones wordpress]]></category>
		<category><![CDATA[API wordpress]]></category>
		<category><![CDATA[Opciones wordpress]]></category>
		<category><![CDATA[Plugin wordpress]]></category>
		<category><![CDATA[Programar plugins wordpress]]></category>

		<guid isPermaLink="false">http://www.johandebruin.com/?p=480</guid>
		<description><![CDATA[Consta de una variable para establecer un nombre de id para establecer las opciones en la base de datos, añadir la acción al hook del menu al construir el plugin, establecer como aparecerá en la pestaña las opcinones con add_options_page, y el código que mostrará y gestionará las opciones insertadas. Aquí un ejemplo básico de [...]]]></description>
			<content:encoded><![CDATA[<p>Consta de una variable para establecer un nombre de id para establecer las opciones en la base de datos, añadir la acción al hook del menu al construir el plugin, establecer como aparecerá en la pestaña las opcinones con <strong>add_options_page</strong>, y el código que mostrará y gestionará las opciones insertadas. Aquí un ejemplo básico de como quedaría:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000000; font-weight: bold;">class</span> miPlugin<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$db_option</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'miPlugin_Options'</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">function</span> miPlugin<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #666666; font-style: italic;">//Línea para incluir el menú</span>
		add_action<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'miMenu'</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span><span style="color: #000088;">$this</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'admin_menu'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">function</span> miMenu<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		add_options_page<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Opciones del plugin'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Algun id'</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">8</span><span style="color: #339933;">,</span> <span style="color: #990000;">basename</span><span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">__FILE__</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span><span style="color: #000088;">$this</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'opciones'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">function</span> opciones<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$options</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">get_options</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'submitted'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		  check_admin_referer<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'nonce'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		  <span style="color: #000088;">$options</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		  <span style="color: #000088;">$options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'a'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'a'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
		  <span style="color: #000088;">$options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'b'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'b'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
		  update_option<span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">db_option</span><span style="color: #339933;">,</span> <span style="color: #000088;">$options</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #666666; font-style: italic;">// Aquí establecemos algunas variables que usaremos en el form</span>
		<span style="color: #000088;">$action_url</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'REQUEST_URI'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$a</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'a'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$b</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'b'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">?&gt;</span>
&nbsp;
       	&lt;form name=&quot;SnazzyArchives&quot; action=&quot;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$action_url</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&quot; method=&quot;post&quot;&gt;
            <span style="color: #000000; font-weight: bold;">&lt;?php</span> wp_nonce_field<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'nonce'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
            &lt;input type=&quot;checkbox&quot; name=&quot;a&quot;  <span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$a</span> <span style="color: #000000; font-weight: bold;">?&gt;</span> /&gt;&lt;label&gt; Show Posts&lt;/label&gt;  &lt;br /&gt;
            &lt;input type=&quot;checkbox&quot; name=&quot;b&quot;  <span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$b</span> <span style="color: #000000; font-weight: bold;">?&gt;</span> /&gt;&lt;label&gt; Show Pages&lt;/label&gt;  &lt;br /&gt;
            &lt;div&gt;&lt;input type=&quot;submit&quot; name=&quot;Submit&quot; value=&quot;Update&quot; /&gt;&lt;/div&gt;
       	&lt;/form&gt;
        <span style="color: #000000; font-weight: bold;">&lt;?php</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Solo decir que que las opciones se obtienen con <em>$options = $this->get_options();</em> y se establecen con <em>update_option($this->db_option, $options);</em> Además, <em><?php wp_nonce_field('nonce'); ?></em> sirve como parametro de seguridad para cercionarnos que se está empleando el formulario correcto. Esto luego se comprueba con <em>check_admin_referer(&#8216;nonce&#8217;);</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.johandebruin.com/anadir-opciones-a-un-plugin-wordpress/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Estructura de la clase php de un plugin de wordpress</title>
		<link>http://www.johandebruin.com/estructura-de-la-clase-php-de-un-plugin-de-wordpress/</link>
		<comments>http://www.johandebruin.com/estructura-de-la-clase-php-de-un-plugin-de-wordpress/#comments</comments>
		<pubDate>Sun, 14 Mar 2010 15:31:58 +0000</pubDate>
		<dc:creator>Johan</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[clase php]]></category>
		<category><![CDATA[Clase plugin]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[Plugin wordpress]]></category>
		<category><![CDATA[Programacion wordpress]]></category>

		<guid isPermaLink="false">http://www.johandebruin.com/?p=450</guid>
		<description><![CDATA[Los buenos plugins de wordpress están desarrollados a través de una clase php con la que se optimiza el código. Aquí traigo un ejemplo de la estructura básica de la programación php para declarar la clase e insertar el constructor y un método que se autoejecutará al iniciar la clase que instalará el plugin. &#60;?php [...]]]></description>
			<content:encoded><![CDATA[<p>Los buenos plugins de wordpress están desarrollados a través de una clase php con la que se optimiza el código. Aquí traigo un ejemplo de la estructura básica de la programación php para <strong>declarar la clase </strong>e insertar el constructor y un <strong>método </strong>que se autoejecutará al iniciar la clase <strong>que instalará el plugin</strong>.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #666666; font-style: italic;">/*
Plugin name: Nombre de mi plugin
Version: 0.1
Plugin URI: http://www.johandebuin.com/miplugin
Author: Johan de Bruin
Author URI: http://www.johandebruin.com
Description: una descripción sobre que hace el plugin en cuestión
*/</span></pre></div></div>

<p><span id="more-450"></span><br />
Ahora declaramos un if para comprobar si la clase ya existe, en caso contrario la definimos.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #339933;">!</span><span style="color: #990000;">class_exists</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'clasePlugin'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span>
<span style="color: #000000; font-weight: bold;">class</span> clasePlugin
<span style="color: #009900;">&#123;</span>
     <span style="color: #666666; font-style: italic;">//Esta variable sirve para obtener la url del plugin</span>
     <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$plugin_url</span><span style="color: #339933;">;</span>
&nbsp;
     <span style="color: #666666; font-style: italic;">//Constructor del plugin</span>
     <span style="color: #000000; font-weight: bold;">function</span> clasePlugin<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
     <span style="color: #009900;">&#123;</span>
          <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">plugin_url</span> <span style="color: #339933;">=</span> trailingslashit<span style="color: #009900;">&#40;</span> WP_PLUGIN_URL<span style="color: #339933;">.</span><span style="color: #0000ff;">'/'</span><span style="color: #339933;">.</span> <span style="color: #990000;">dirname</span><span style="color: #009900;">&#40;</span> plugin_basename<span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">__FILE__</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
          <span style="color: #666666; font-style: italic;">//Línea para incluir los scripts a la pagina</span>
          add_action<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'wp_print_scripts'</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span><span style="color: #000088;">$this</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'misScripts'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #009900;">&#125;</span>
&nbsp;
     <span style="color: #000000; font-weight: bold;">function</span> instalar<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
     <span style="color: #009900;">&#123;</span>
          <span style="color: #666666; font-style: italic;">//Sentencias como la creación de una BD</span>
     <span style="color: #009900;">&#125;</span>
&nbsp;
     <span style="color: #000000; font-weight: bold;">function</span> misScripts<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
     <span style="color: #009900;">&#123;</span>
          <span style="color: #666666; font-style: italic;">//Añadimos un script en jquery</span>
          wp_enqueue_script<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'jquery'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
          wp_enqueue_script<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'clasePlugin'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">plugin_url</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'/rutaDeljquery.js'</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'jquery'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
          <span style="color: #666666; font-style: italic;">//Añadimos un css</span>
          <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;link rel=&quot;stylesheet&quot; href=&quot;'</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">plugin_url</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'/estilo.css&quot; type=&quot;text/css&quot; /&gt;'</span><span style="color: #339933;">;</span>
     <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">else</span> <span style="color: #339933;">:</span>
     <span style="color: #990000;">exit</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;La clase clasePlugin ya esta declarada&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">endif</span><span style="color: #339933;">;</span></pre></div></div>

<p>Por último creamos la instancia de la clase, emplearemos la función de wordpress <strong>register_activation_hook</strong> cuyos parametros son fichero del <em>plugin </em>y <em>callback</em>, para especificar que queremos que se ejecute la función <strong>instalar </strong>al activar el plugin.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$instanciaPlugin</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> clasePlugin<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$instanciaPlugin</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
     <span style="color: #666666; font-style: italic;">//Recuerda que la &amp; sirve para que los cambios realizados en la variable en la función</span>
     <span style="color: #666666; font-style: italic;">//surtan efecto a nivel global y no solo dentro de la variable.</span>
     register_activation_hook<span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">__FILE__</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span><span style="color: #000088;">$instanciaPlugin</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'instalar'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Y recuerda, el codigo es poesia <img src='http://www.johandebruin.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</p>
]]></content:encoded>
			<wfw:commentRss>http://www.johandebruin.com/estructura-de-la-clase-php-de-un-plugin-de-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Crear y configurar un widget de wordpress</title>
		<link>http://www.johandebruin.com/crear-y-configurar-un-widget-de-wordpress/</link>
		<comments>http://www.johandebruin.com/crear-y-configurar-un-widget-de-wordpress/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 16:17:42 +0000</pubDate>
		<dc:creator>Johan de Bruin</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Crear widget wordpress]]></category>
		<category><![CDATA[header hook wordpress]]></category>
		<category><![CDATA[Plugin wordpress]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Widget]]></category>
		<category><![CDATA[Wordpress API]]></category>
		<category><![CDATA[Wordpress hook]]></category>
		<category><![CDATA[Wordpress widget]]></category>

		<guid isPermaLink="false">http://www.johandebruin.com/?p=349</guid>
		<description><![CDATA[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. [...]]]></description>
			<content:encoded><![CDATA[<p>Para <strong>crear un widget con wordpress </strong>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 <strong>widgets de wordpress </strong>para que podamos añadir facilmente aplicaciones en los <strong>sidebar de tu blog</strong>.<br />
<span id="more-349"></span></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">  <span style="color: #000000; font-weight: bold;">function</span> miplugin_Widget<span style="color: #009900;">&#40;</span><span style="color: #000088;">$args</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
      <span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$user_ID</span><span style="color: #339933;">,</span> <span style="color: #000088;">$user_identity</span><span style="color: #339933;">,</span> <span style="color: #000088;">$wp_wall_plugin_url</span><span style="color: #339933;">;</span>
      <span style="color: #666666; font-style: italic;">// extract the parameters</span>
      <span style="color: #990000;">extract</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$args</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
      <span style="color: #666666; font-style: italic;">// get our options</span>
      <span style="color: #000088;">$options</span> <span style="color: #339933;">=</span> get_option<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'miplugin'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #000088;">$titulo</span><span style="color: #339933;">=</span> <span style="color: #000088;">$options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'miplugin_titulo'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
      <span style="color: #666666; font-style: italic;">// Estas variables son por cuestión de compatibilidad del theme</span>
      <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$before_widget</span><span style="color: #339933;">;</span>
      <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$before_title</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$titulo</span><span style="color: #339933;">.</span> <span style="color: #000088;">$after_title</span><span style="color: #339933;">;</span>
&nbsp;
      <span style="color: #666666; font-style: italic;">// El texto y código que inluirá nuestro widget</span>
      <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;HOLA MUNDO!&quot;</span><span style="color: #339933;">;</span>
&nbsp;
      <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$after_widget</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//Desarrollamos lo que debe hacer el plugin al activarse</span>
<span style="color: #000000; font-weight: bold;">function</span> miplugin_init<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
     register_sidebar_widget<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Nombre plugin'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'miplugin_Widget'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     register_widget_control<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Nombre plugin'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'miplugin_WidgetControl'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #666666; font-style: italic;">//Acción que indica la función de activación del plugin</span>
add_action<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'init'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'miplugin_init'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>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.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">function miplugin_WidgetControl()
{
      // Obtenemos los valores preestablecidos
      $options = get_option('miplugin');
      // Cambiamos las opciones en caso de que haya un post
      if ($_POST[&quot;miplugin_submit&quot;]) {
          // retireve wall title from the request
          $options['miplugin_titulo'] = strip_tags(stripslashes($_POST[&quot;miplugin_titulo&quot;]));
          // update the options to database
          update_option('miplugin', $options);
      }
      $titulo = $options['titulo'];
      // Lo que se imprime en las opciones del widget
      ?&gt;
&lt;p&gt;
Titulo: &lt;input  name=&quot;miplugin_titulo&quot; type=&quot;text&quot; value=&quot;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$titulo</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&quot; /&gt;
&lt;input type=&quot;hidden&quot; id=&quot;miplugin_submit&quot; name=&quot;miplugin_submit&quot; value=&quot;1&quot; /&gt;
&lt;/p&gt;
     <span style="color: #000000; font-weight: bold;">&lt;?</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.johandebruin.com/crear-y-configurar-un-widget-de-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

