<?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>HazmeUnaWeb.com &#187; WordPress</title>
	<atom:link href="http://www.hazmeunaweb.com/category/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.hazmeunaweb.com</link>
	<description>Página Web de Manuel Martínez , desarrollador freelance</description>
	<lastBuildDate>Mon, 18 Jan 2010 12:08:23 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Estructura del pluguin SOLO con funciones</title>
		<link>http://www.hazmeunaweb.com/wordpress/estructura-del-pluguin-solo-con-funciones/</link>
		<comments>http://www.hazmeunaweb.com/wordpress/estructura-del-pluguin-solo-con-funciones/#comments</comments>
		<pubDate>Sat, 16 Jan 2010 18:57:35 +0000</pubDate>
		<dc:creator>Manuel Martínez</dc:creator>
				<category><![CDATA[Como Hacer Pluguin WordPress]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[hazmeunaweb]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[pluguin]]></category>
		<category><![CDATA[pluguin wordpress]]></category>
		<category><![CDATA[programacion]]></category>

		<guid isPermaLink="false">http://www.hazmeunaweb.com/?p=112</guid>
		<description><![CDATA[Hola  
en este post pondremos el ejemplo de una estructura de pluguin hecho solo con funciones.

Esta estructura poseerá las siguientes características :

Hecha solo con funciones ( sin clases  class  mi _clase{} etc  )
Incluye función instalación en WordPress.
Incluye función desinstalación en WordPress
Incluye opciones de administración.
Incluye Shortcode ( codigo corto para ejecutar función principal )
Incluye opción [...]]]></description>
			<content:encoded><![CDATA[<p>Hola <img src='http://www.hazmeunaweb.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>en este post pondremos el ejemplo de una estructura de pluguin hecho solo con funciones.</p>
<p><span id="more-112"></span></p>
<p>Esta estructura poseerá las siguientes características :</p>
<ul>
<li>Hecha solo con funciones ( sin clases  class  mi _clase{} etc  )</li>
<li>Incluye función instalación en WordPress.</li>
<li>Incluye función desinstalación en WordPress</li>
<li>Incluye opciones de administración.</li>
<li>Incluye Shortcode ( codigo corto para ejecutar función principal )</li>
<li>Incluye opción de Widget para ejecutar como widget</li>
</ul>
<p>En este caso por primera vez , se empiezan a utilizar funciones  ( hooks ) propias de WordPress, que se deben conocer antes que son:</p>
<ul>
<li>add_options_page :  Añade el menu de opciones a WordPress de nuestro Pluguin/Widget</li>
<li>add_action(&#8216;admin_menu&#8217;, &#8216;inserta_menu_huw&#8217;) :  Accción que se ejecuta al acceder a las opciones de wordpress.</li>
<li>add_action(&#8216;activate_TU-DIRECTORIO/TU-FICHERO.php&#8217;,'instala_huw&#8217;) : Añade la función que se ejecutará cuando se active el pluguin/widget ( inicialización ). Puede servir por ejemplo para crear una tabla en la base de datos de wordpress.</li>
<li>add_action(&#8216;deactivate_TU-DIRECTORIO/TU-FICHERO.php&#8217;, &#8216;desinstala_huw&#8217;) . Añade la función que se ejecutará cuando se desactive el pluguin/widget .</li>
<li>register_sidebar_widget(&#8220;Widget HazmeUnaWeb&#8221;, &#8220;principal_widget_huw&#8221;) :  Registramos la función a ejecutar como widget.</li>
<li>add_action(&#8220;plugins_loaded&#8221;, &#8220;iniciar_widget_huw&#8221;):  Solo cuando el pluguin sea leido , activamos el widget !!!</li>
<li>add_shortcode(&#8216;hazmeunaweb&#8217;, &#8217;shortcode_huw&#8217;) :  Añadimos la función a ejecutar cuando se escriba el shortcode en los post . En los post se escribirá :     y se ejecutará esa función.</li>
</ul>
<p>A continuación viene el código que se explica por si solo. En principio todo esta incluido dentro de un directorio, con un único fichero (<span style="color: #33cccc;">wp-content/pluguins/huw_estructura_funciones/huw_estructura_funciones.php</span> )</p>
<pre class="brush: php;">

&lt;?php
 /*
 Plugin Name: huw_estructura_funciones
 Plugin URI: http://www.hazmeunaweb.com
 Description: Pluguin de ejemplo que consta de :    Estructura solo con funciones - Incluye widget - Incluye SortCode - Incluye funci&amp;oacute;n de instalaci&amp;oacute;n - Incluye funcion de desinstalaci&amp;oacute;n - Incluye opciones en el Admin de WordPress
 Version: 0.1
 Author: Manuel Mart&amp;iacute;nez
 Author URI: http://www.hazmeunaweb.com
 */

 /* Función que se ejecutará en wordpress , cuando se haya puesto denro del codigo &lt;?php principal_huw(); ?&gt; */
 function principal_huw(){
 // Tu codigo
 }

 /* Función que se ejecutará en wordpress COMO UN WIDGET  */
 function principal_widget_huw(){
 // Tu codigo PUEDE SER EL MISMO QUE principal_huw()  o  no
 }

 // Funcion que SOLO !!!  se ejecuta al activar por primera vez el pluguin ( hace la instalación inicial )
 function instala_huw(){
 // Tu codigo
 }

 // Función que SOLO !!! se ejecuta al desisnstalar el pluguin ( hace la desinstalación final )
 function desinstala_huw(){
 // Tu codigo
 }

 // Función para poner nuestro saludo personalizado , configurandolo en 'nuestro' panel personalizado del admin de wordpress
 function admin_huw()
 {
 // Tu codigo
 echo utf8_encode( &quot;Aquí esta la zona de administración del Widget HazmeUnaWeb&quot;);

 }

 // shortcode del plugin para usar en los post
 // se usa poniendo  en los post
 function shortcode_huw($atts) {
 // el valor devuelto por return se inserta en el post en lugar
 // del shortcode. No se debe usar echo sino return  !!!!!
 return principal_huw();
 }

 /////////////////////////////////////////////////////////////////
 // COMIENZO DE FUNCIONES Y HOOKS PARA QUE WORDPRESS LO INSTALE //
 /////////////////////////////////////////////////////////////////

 // Función para insertar nuestro panel de conficguración del pluguin en wordpress
 function inserta_menu_huw()
 {
 if (function_exists('add_options_page'))
 {
 //add_menu_page
 add_options_page('Estructura HazmeUnaWeb', 'HazmeUnaWeb', 8, basename(__FILE__), 'admin_huw');
 }
 }

 // Condicional para asegurarnos que existe la función
 if (function_exists('add_action'))
 {
 add_action('admin_menu', 'inserta_menu_huw');
 }

 // Le decimos a wordpresss cual es la función  a ejecutar al ACTIVAR el pluguin ( función instalación del pluguin )
 add_action('activate_TU-DIRECTORIO/TU-FICHERO.php','instala_huw');

 // Le decimos a wordpress cual es la función  que debe ejecutar al DESACTIVAR el pluguin ( función desinstalación del pluguin )
 add_action('deactivate_TU-DIRECTORIO/TU-FICHERO.php', 'desinstala_huw');

 // Función para instalar el widget
 function iniciar_widget_huw(){
 register_sidebar_widget(&quot;Widget HazmeUnaWeb&quot;, &quot;principal_widget_huw&quot;);
 }

 // Cuando los pluguins se han leido , entonces instalamos el widget
 // Por esto la activación del widget se hace dentro de la función !!!
 add_action(&quot;plugins_loaded&quot;, &quot;iniciar_widget_huw&quot;);

 // Ponemos el shortcode
 // se usa poniendo  en los post
 add_shortcode('hazmeunaweb', 'shortcode_huw');

?&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.hazmeunaweb.com/wordpress/estructura-del-pluguin-solo-con-funciones/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nuestro Primer Plugin Plugin WordPress</title>
		<link>http://www.hazmeunaweb.com/wordpress/nuestro-primer-plugin-plugin-wordpress/</link>
		<comments>http://www.hazmeunaweb.com/wordpress/nuestro-primer-plugin-plugin-wordpress/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 14:13:11 +0000</pubDate>
		<dc:creator>Manuel Martínez</dc:creator>
				<category><![CDATA[Como Hacer Pluguin WordPress]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[hazmeunaweb]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[pluguin]]></category>
		<category><![CDATA[pluguin wordpress]]></category>
		<category><![CDATA[programacion]]></category>

		<guid isPermaLink="false">http://www.hazmeunaweb.com/?p=96</guid>
		<description><![CDATA[Hola    .
Como dice el título veremos como hacer nuestro primer plugin , pluguin : )
Lo que más conocemos, realmente como pluguin de WordPress. Es decir un pluguin dentro del directorio pluguins de wordpress ( wp-content/pluguins/ ).

Haremos exactamente lo mismo que en el anterior POST , pero dentro del directorio pluguins , para [...]]]></description>
			<content:encoded><![CDATA[<p>Hola  <img src='http://www.hazmeunaweb.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' />  .</p>
<p>Como dice el título veremos como hacer nuestro primer plugin , pluguin : )</p>
<p>Lo que más conocemos, realmente como pluguin de WordPress. Es decir un pluguin dentro del directorio pluguins de wordpress ( <span style="color: #33cccc;">wp-content/pluguins/</span> ).</p>
<p><span id="more-96"></span></p>
<p>Haremos exactamente lo mismo que en el anterior <a title="http://www.hazmeunaweb.com/wordpress/nuestro-primer-pluguin-wordpress/" href="http://www.hazmeunaweb.com/wordpress/nuestro-primer-pluguin-wordpress/">POST</a> , pero dentro del directorio pluguins , para activarlo en el menu de WordPress, y con alguna diferencia para seguridad y evitar conflictos de colisión de nombres.</p>
<p>Como va a ser una pluguin simple , podemos hacerlo de dos formas principalmente:</p>
<ul>
<li>La primera en único fichero php . Por ejemplo mi_pluguin.php , dentro del directorio (<span style="color: #33cccc;"> wp-content/pluguins/</span> )</li>
<li>La segunda forma ( que es la que haremos ) , consiste en crear dentro del directorio plugins , otro directorio que se llame  mi_pluguin ( <span style="color: #33cccc;">wp-content/pluguins/</span><span style="color: #33cccc;"><code>huw_pluguin</code></span><span style="color: #33cccc;">/</span> ) . Esto nos servirá para :
<ul>
<li>Que dentro de ese directorio, podamos poner todo lo que queramos en función de lo complicado que sea ese pluguin de WordPress. Es decir dentro de ese diirectorio podríamos pones los típicos directorios que hay en toda web como:
<ul>
<li>wp-content/pluguins/<code>huw_pluguin</code>/css/    : Directorio para guardar el estilo del pluguin</li>
<li>wp-content/pluguins/<code>huw_pluguin</code>/js/       : Directorio para guardar el javascript del pluguin</li>
<li>wp-content/pluguins/<code>huw_pluguin</code>/img/   : Directorio para guardar las imagenes del pluguin</li>
<li>wp-content/pluguins/<code>huw_pluguin</code>/etc/</li>
</ul>
</li>
<li>Además nos será más fácil,  eliminarlo después, si queremos.</li>
<li>Tendremos una estructura más ordenada para evitar conflictos, de nombres.</li>
</ul>
</li>
</ul>
<p>Al pluguin además de la &#8220;programación normal&#8221; se debe añadir el título y otros detalles como cabecera.</p>
<p>A continuació se pone el pluguin completo y se explicará algún detalle.</p>
<pre class="brush: php;">/*
Plugin Name: huw_pluguin
Plugin URI: http://www.hazmeunaweb.com/
Version: v1.00
Author: &lt;a href=&quot;http://www.hazmeunaweb.com/&quot;&gt;HazmeUnaWeb.com&lt;/a&gt;
Description: Un ejemplo de plugin para WordPress , con varias estructuras juntas

Copyright 2009  HazmeUnaWeb.com  (email : frelance@hazmeunaweb.com

 El tipo de licencia que se quiera poner
 por ejemplo :

 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 2 of the License, or
 (at your option) any later version.

 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software
 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

*/

 // Función simple definida dentro del fichero huw_pluguin.php
 function hola_huw() {
    return &quot;Hola  , &quot;;
 }

 // Comprobamos que la clase no existe antes de crearla para evitar problemas
 if (!class_exists(&quot;HazmeUnaWeb_pluguin_compatible&quot;)) {
    class HazmeUnaWeb_pluguin_compatible {
       // declaración y definición de variable ( compatibilidad PHP4 )
       var $texto = &quot;Bienvenido&quot;;

       function HazmeUnaWeb_pluguin_compatible() { //constructor con compatibilidad PHP4, PHP5
           $this-&gt;texto = $this-&gt;texto.&quot; a &quot;;
       }

    }    // final de la defición de la clase
 }

 // nos aseguramos de que existe ante de instanciarla y llamar a su constructor
 if (class_exists(&quot;HazmeUnaWeb_pluguin_compatible&quot;)) {
     $nueva_instancia_compatible = new HazmeUnaWeb_pluguin_compatible();
 }

 // Comprobamos que la clase no existe antes de crearla para evitar problemas
 if (!class_exists(&quot;HazmeUnaWeb_pluguin_php5&quot;)) {
    class HazmeUnaWeb_pluguin_php5 {
        // declaración y definición de variable
        public $texto_php5 = &quot;Hazme&quot;;

        function __construct() { //constructor SOLO  PHP5
           $this-&gt;texto_php5 = $this-&gt;texto_php5.&quot;UnaWeb.com&quot;;
        }
    }    // final de la defición de la clase
 }

 // nos aseguramos de que eiste ante de instanciarla y llamar a su constructor
 if (class_exists(&quot;HazmeUnaWeb_pluguin_php5&quot;)) {
     $nueva_instancia_php5 = new HazmeUnaWeb_pluguin_php5();
 }
</pre>
<p>Las únicas diferencias con respecto , al previo pluguin hecho con el fichero functions.php son:</p>
<ul>
<li>Una cabecera donde se explican los detalles del pluguin y se pone un copyright si se quiere</li>
<li>la comprobación de la existencia de la clase antes de instanciarla</li>
<li>Para que funcione el pluguin,  el usuario debe activarlo en la sección pluguins</li>
</ul>
<p>Después de crear el directorio y el fichro del pluguin , al usuario le aparecerá esta imagen:</p>
<p><img src="http://www.hazmeunaweb.com/wp-content/plugins/huw_pluguin/img/imagen_huw_pluguin.gif" alt="ejemplo como se verá la imagen en el admin WordPress" width="550" height="59" /></p>
<p>Solo se debe pulsar en ACTIVAR para que se pueda utlizar el pluguin y listo <img src='http://www.hazmeunaweb.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Para que se vea su efecto, hemos puesto lo siguiente en single.php</p>
<pre class="brush: php;">

// Ejemplo de pluguin con el fichero huw_pluguin.php
 $titulo_post = the_title('','',FALSE);
 // Si es el post donde queremos poner el pluguin
 if ( $titulo_post == 'Nuestro Primer Plugin Plugin WordPress' )
 {
echo &quot;&lt;p style='color:#ff0000;'&gt;&quot;;
echo     &quot;&lt;strong&gt;&quot;;
echo         hola_huw();                            // llamada a funcion simple
echo         $nueva_instancia_compatible-&gt;texto;    // llamada a clase compatible
echo         $nueva_instancia_php5-&gt;texto_php5;    // llamada a clase php5
echo     &quot;&lt;/strong&gt;&quot;;
echo &quot;&lt;/p&gt;&quot;;

 }
</pre>
<p>Que es lo mismo que habia en el anterior POST, pero cambiando los nombres de las clases para evitar conflictos de nombres.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hazmeunaweb.com/wordpress/nuestro-primer-plugin-plugin-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nuestro primer pluguin WordPress</title>
		<link>http://www.hazmeunaweb.com/wordpress/nuestro-primer-pluguin-wordpress/</link>
		<comments>http://www.hazmeunaweb.com/wordpress/nuestro-primer-pluguin-wordpress/#comments</comments>
		<pubDate>Thu, 31 Dec 2009 15:08:20 +0000</pubDate>
		<dc:creator>Manuel Martínez</dc:creator>
				<category><![CDATA[Como Hacer Pluguin WordPress]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[hazmeunaweb]]></category>
		<category><![CDATA[pluguin]]></category>
		<category><![CDATA[pluguin wordpress]]></category>
		<category><![CDATA[programacion]]></category>

		<guid isPermaLink="false">http://www.hazmeunaweb.com/?p=63</guid>
		<description><![CDATA[Hola   
Vamos a hacer nuestro primer pluguin WordPress.
Los desarrolladores, suelen aprender antes el lenguaje de programación PHP ( más &#8220;general&#8221; ) y después se va aplicando a los distintintos frameworks , CMS , por esto es normal que se sepa PHP y después se aprendan las particularidades ( como en este caso ) [...]]]></description>
			<content:encoded><![CDATA[<p>Hola  <img src='http://www.hazmeunaweb.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
<p>Vamos a hacer nuestro primer pluguin WordPress.</p>
<p>Los desarrolladores, suelen aprender antes el lenguaje de programación PHP ( más &#8220;general&#8221; ) y después se va aplicando a los distintintos frameworks , CMS , por esto es normal que se sepa PHP y después se aprendan las particularidades ( como en este caso ) de WrodPress.</p>
<p><span id="more-63"></span></p>
<p>Así el ejemplo simple elegido para empezar , será uno que utilice &#8220;SOLO&#8221; PHP . Es decir no se necesitan conocimeientos de Hooks u otra funcionalidad de WordPress.</p>
<p>De esta forma , sirve para plantear las estructuras iniciales del pluguin , en base a los parámetros del anterior <a title="http://www.hazmeunaweb.com/wordpress/planteando-las-estructuras-del-pluguin/" href="http://www.hazmeunaweb.com/wordpress/planteando-las-estructuras-del-pluguin/">POST</a></p>
<p>Más tarde solo se deberá , incluir más conocimientos de WordPress dentro de estas estructuras.</p>
<p><span style="color: #339966;"><span style="font-size: medium;">1<sup>er</sup> Ejemplo de Pluguin</span></span></p>
<p>Para este primer ejemplo , usaremos varias estructuras a la vez , para &#8220;matar varios pajaros de un tiro&#8221;. esto lo  haremos siguiendo estos puntos :</p>
<ul>
<li><strong>Planteamiento del Objetivo </strong>: En este caso, el objetivo será, una frase de bienvenida al web/blog  hazmeunaweb.com , utilizando varias estructuras &#8221; PHP &#8220;  a la vez,  dentro del fichero<span style="color: #33cccc;"> functions.php</span> , que serán :
<ul>
<li>Una simple estructura de función .</li>
<li>Una Clase con compatibilidad para PHP4 , PHP5</li>
<li>Una Clase solo con compatibilidad PHP5</li>
</ul>
</li>
<li><strong>En base al objetivo y los parametros indicados en el POST anterior ir definiendo la solución</strong>:</li>
</ul>
<p style="padding-left: 60px;"><span style="color: #ff9900;"><strong>¿Cómo crear un pluguin?</strong></span></p>
<p style="padding-left: 90px;"><strong>La necesidad</strong> : Queremos añadir el pluguin como una funcionalidad extra, de nuestro theme. En este caso empezaremos por lo más sencillo que es ponerlo dentro de nuestro fichero <span style="color: #33cccc;">functions.php</span></p>
<p style="padding-left: 90px;"><strong>Estructura de Programación y Compatibilidad: </strong>Queremos poner varias estructuras a la vez para conseguir algo. Sería como utilizar 3 pluguins diferentes para un mismo objetivo. Es este caso se hace así , como medio didáctico para ver varias estructuras a la vez ( con solo una de ellas habríamos conseguido el mismo resultado )</p>
<p style="padding-left: 60px;"><span style="color: #ff9900;"><strong>¿Donde crear un pluguin?</strong></span></p>
<p style="padding-left: 90px;">Hemos decido que será en el fichero <span style="color: #33cccc;">functions.php </span>, que se encuentra en <span style="color: #33cccc;">wp-content/themes/mi_theme/functions.php </span></p>
<p style="padding-left: 60px;"><span style="color: #ff9900;"><strong>¿Cuando crear un pluguin?</strong></span></p>
<p style="padding-left: 90px;"><strong>Desde el punto de vista de del conocimiento de wordpress</strong>:  En principio supondremos que no hemos encontrado que se pueda hacer de otra forma ( esto sería lo primero que hariamos normalmente ). Ahora es didáctico.<strong> </strong></p>
<p style="padding-left: 90px;"><strong>¿Existe ya ese pluguin?</strong> : Suponemos que no existe.  <img src='http://www.hazmeunaweb.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
<p>Ahora que ya tenemos &#8220;todo&#8221; decidido y planteado , vamos a  programar dentro del fichero <span style="color: #33cccc;">functions.php</span></p>
<p><strong> </strong></p>
<p><span style="font-size: medium;"><span style="color: #3366ff;"><strong>Primero empezamos por una función sencilla:</strong></span></span></p>
<pre class="brush: php;">// Función sola definida dentro del fichero functions.php
 function hola_hazmeunaweb() {
 return &quot;Hola  , &quot;;
 }</pre>
<p>Esta función la utilizaremos en cualquiera de nuestros fiheros de WordPress de la siguiente forma:</p>
<pre class="brush: php;">&lt;?php echo hola_hazmeunaweb() ?&gt;</pre>
<p><span style="color: #3366ff;"><span style="font-size: medium;"><strong>Segundo pondremos una estructura de clase con compatiblidad para PHP4, PHP5</strong></span></span></p>
<pre class="brush: php;">// clase definida dentro del fichero functions.php
     // con compatibilidad PHP4, PHP5
 class hazmeunaweb {
     // declaración y definición de variable ( compatibilidad PHP4 )
    var $texto = &quot;Bienvenido&quot;;

    // función constructor de la clase ( compatibilidad PHP4 , PHP5 )
    // lo que hace es añadir el texto &quot;a &quot; para terminar de formar la frase de bienvenida
    function hazmeunaweb() {
      $this-&gt;$texto = $this-&gt;$texto.&quot; a &quot;;
     }
 }

 // Hacemos una instancia para poder llamarla desde cualquier fichero
 // Se llama implicitamente al constructor de forma que $texto = &quot;Bienvenido&quot; + &quot; a  &quot;
 $mi_clase_compatible = new hazmeunaweb();
</pre>
<p><span style="color: #3366ff;"><span style="font-size: medium;"><strong>Tercero pondremos una estructura de clase con compatiblidad SOLO para PHP5 ( hasta que se implante el 6 <img src='http://www.hazmeunaweb.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  )</strong></span></span></p>
<pre class="brush: php;">// clase definida dentro del fichero functions.php
 // NOS ASEGURAREMOS QUE SOLO SERÁ PARA PHP 5 !!!!!
 // MEDIANTE LA DEFINCICIÓN ESPECÍFICA DEL CONSTRUCTOR &quot;__construct&quot;
 class hazmeunaweb_php5 {
    // declaración y definición de variable
    public $texto_php5 = &quot;Hazme&quot;;

    // función constructor de la clase ( compatibilidad PHP4 , PHP5 )
    // lo que hace es añadir el texto &quot;UnaWeb.com&quot; para terminar de formar la frase de bienvenida
    function __construct() {
        $this-&gt;$texto_php5 = $this-&gt;$texto_php5.&quot;UnaWeb.com&quot;;
     }
 }

 // Hacemos una instancia para poder llamarla desde cualquier fichero
 // Se llama implicitamente al constructor de forma que $texto_php5 = &quot;Hazme&quot; + &quot;UnaWeb.com&quot;
 $mi_clase_php5 = new hazmeunaweb_php5;
</pre>
<p><span style="font-size: medium;"><span style="color: #3366ff;"><strong><strong>Una vez hemos preparado y guardado el fichero functions.php, solo falta ponerlo donde queramos</strong></strong></span></span><br />
En este caso , como queremos que se ponga SOLO DEBAJO DEL CONTENIDO DE ESTE POST , haremos los siguiente:</p>
<p>Comprobaremos que el título del post , coincide con el post en el que estamos para de esa forma ejecutar el pluguin que queremos.</p>
<p>La comprobación se hace mediante codigo PHP y codigo WordPress</p>
<p>El código WordPress necesario para esto es   the_title(&#8221;,&#8221;,FALSE) que significa : El título del POST actual .</p>
<p>Este codigo admite 3 párametros : the_title(parametro_1,parametro_2,parametro_3)</p>
<ul>
<li>parametro_1 = Contenido  que queremos insertar antes del título</li>
<li>parametro_2 = Contenido  que queremos insertar después del título</li>
<li>parametro_3 = TRUE -&gt; El contenido , se &#8220;imprime directamente en pantalla&#8221; , FALSE -&gt; El contenido se devuelve como un string para ser utilizado dentro de PHP.</li>
</ul>
<pre class="brush: php;">
&lt;?php  $titulo_post = the_title('','',FALSE);
      // Si es el post donde queremos poner el pluguin
      if ( $titulo_post == 'Nuestro primer pluguin WordPress' )
      {
          echo &quot;&lt;p style='color:#ff0000;'&gt;&quot;;
          echo     &quot;&lt;strong&gt;&quot;;
          echo         hola_hazmeunaweb();             // llamada a funcion simple
          echo         $mi_clase_compatible-&gt;texto;    // llamada a clase compatible
          echo         $mi_clase_php5-&gt;texto_php5;     // llamada a clase php5
          echo     &quot;&lt;/strong&gt;&quot;;
          echo &quot;&lt;/p&gt;&quot;;
      }
 ?&gt;</pre>
<p>De esta forma SOLO ejecutamos este código si el título del POST coincide con &#8216;Nuestro primer pluguin WordPress&#8217;.<br />
Este código se ha introducido en el fichero single.php ( wp-content/themes/mi_theme/single.php ) , que es el que se ejecuta cuando queremos ver un solo POST en WordPress.<br />
Se puede ver en el código las llamadas a la función simple y a cada una de las clases.<br />
En este caso como el hosting tiene PHP Version 5.1.6, no ha habido problema con la clase que SOLO era para PHP5<br />
Normalmente siempre intentaremos hacer las clases compatibles, para que se pueda utilizar por más personas.</p>
<p>Después de todo esto se puede ver debajo de este post la frase con color rojo <strong><span style="color: #ff0000;">Hola  , Bienvenido a HazmeUnaWeb.com</span></strong></p>
<p><span style="font-size: medium;"><span style="color: #3366ff;"><strong><strong><br />
</strong></strong></span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hazmeunaweb.com/wordpress/nuestro-primer-pluguin-wordpress/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Planteando las Estructuras del Pluguin de WordPress</title>
		<link>http://www.hazmeunaweb.com/wordpress/planteando-las-estructuras-del-pluguin/</link>
		<comments>http://www.hazmeunaweb.com/wordpress/planteando-las-estructuras-del-pluguin/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 13:26:11 +0000</pubDate>
		<dc:creator>Manuel Martínez</dc:creator>
				<category><![CDATA[Como Hacer Pluguin WordPress]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[hazmeunaweb]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[pluguin]]></category>

		<guid isPermaLink="false">http://www.hazmeunaweb.com/?p=49</guid>
		<description><![CDATA[Hola   
En este  post, plantearemos el tipo de estructura del pluguin en función de las carácteristicas , ya comentadas en el anterior POST .
Ahora lo que haremos será ir respondiendo las preguntas iniciales de ¿Cómo? ¿Donde? ¿Cuando crear un pluguin? , según las explicaciones del primer post y veremos que las tres preguntas [...]]]></description>
			<content:encoded><![CDATA[<h3><span style="color: #000000;">Hola </span> <img src='http://www.hazmeunaweb.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </h3>
<h3><span style="font-size: small;"><span style="color: #000000;">En este  post, plantearemos el tipo de estructura del pluguin en función de las carácteristicas , ya comentadas en el anterior</span> <a href="http://www.hazmeunaweb.com/wordpress/%C2%BFcomo-donde-cuando-crear-un-pluguin-wodpress/">POST</a> .</span></h3>
<p><span style="font-size: small;"><span style="color: #000000;"><strong>Ahora lo que haremos será ir respondiendo las preguntas iniciales de ¿Cómo? ¿Donde? ¿Cuando crear un pluguin? , según las explicaciones del primer post y veremos que las tres preguntas están relacioneadas.</strong></span></span></p>
<p><strong><span id="more-49"></span><br />
</strong></p>
<p><span style="color: #ff9900;"><strong><span style="text-decoration: underline;">¿Cómo crear un pluguin?</span></strong></span></p>
<p><strong>La necesidad</strong> :</p>
<ul>
<li> Si lo que queremos, es simplemente añadir alguna funcionalidad  extra,  a nuestro WordPress , que ya tiene un THEME definido , tenemos dos posibilidasdes.</li>
</ul>
<blockquote>
<ol>
<li>Añadirlo en el fichero <span style="color: #ff00ff;"><strong> <span style="color: #00ccff;">functions.php</span></strong></span><span style="color: #00ccff;"> </span>. Este fichero lo podemos encontrar ( O CREAR SI NO EXISTE ) en la ruta que tenga , nuestro THEME ( por ejemplo :   <span style="color: #00ccff;">wp-content/themes/mi_theme/functions.php</span> ). LO QUE SE CREA EN ESTE FICHERO TAMBIEN ES UN PLUGUIN , PERO DENTRO DEL FICHERO  <span style="color: #00ccff;">functions.php</span></li>
<li>Añadir la funcionalidad extra,  dentro del directorio   <span style="color: #00ccff;">wp-content/pluguins/</span> ( es lo que MÁS se conoce como pluguin ). Aquí se puede hacer de dos formas :</li>
</ol>
<blockquote>
<ul>
<li>la más sencilla es simplemente un fichero php ( <span style="color: #00ccff;">wp-content/pluguins/mi_pluguin.php </span> )</li>
<li> la &#8220;MEJOR&#8221;  sería dentro de un directorio , dentro del directorio pluguins ( por ejemplo : <span style="color: #00ccff;">wp-content/pluguins/mi_pluguin/mi_pluguin.php </span>). Esto sirve para varias cosas : encontarlo , borrarlo y editarlo más facilmente además de poder complicarlo mucho más : ) , ya que dentro de ese directorio podríamos crear &#8220;NUESTRA&#8221; propia estructura, tipo web, donde poner los directorios típicos
<ul>
<li>wp-content/pluguins/mi_pluguin/mi_pluguin.php -&gt; Nombre del fichero principal del pluguin.</li>
<li>wp-content/pluguins/mi_pluguin/css/mi_estilo_del_pluguin.css -&gt; Estilo del pluguin</li>
<li>wp-content/pluguins/mi_pluguin/js/mi_javascript_del_pluguin.js -&gt; Javascript del pluguin</li>
<li>wp-content/pluguins/mi_pluguin/ETC</li>
</ul>
</li>
</ul>
</blockquote>
</blockquote>
<blockquote><p>Elegir una u otra dependerá de la complicación del pluguin que hagamos y de las funcionalidades u objetivos que busquemos. Por ejemplo si queremos compartirlo , simplemente queremos probar alguna cosa, etc<strong> </strong></p></blockquote>
<blockquote><p><strong> </strong></p></blockquote>
<p><strong>Estructura de Programación y Compatibilidad: </strong></p>
<ul>
<li>Dependerá de lo complicado y su funcionalidad o de si alguien nos lo pide  <img src='http://www.hazmeunaweb.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />   de alguna forma en concreto.</li>
</ul>
<p><span style="color: #ff9900;"><strong><span style="text-decoration: underline;">¿Donde crear un pluguin?</span></strong></span></p>
<p>Ahora podemos ver , que todas estas preguntas estaban relacionadas ya que el ¿DONDE? se refería unicamente, desde el punto de vista de la estructura de archivos de WordPress y se ha contestado en el punto anterior relacionado, con la necesidad que tengamos.</p>
<p><span style="color: #ff9900;"><strong><span style="text-decoration: underline;">¿Cuando crear un pluguin?</span></strong></span></p>
<p><strong>Desde el punto de vista de del conocimiento de wordpress</strong>: En principio cuando empezamos NO TENEMOS CONOCIMIENTO <img src='http://www.hazmeunaweb.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  , por lo tanto lo normal es buscar por ejemplo ( primero en el DIOS google <img src='http://www.hazmeunaweb.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   ), y después en la <a title="WordPress Info" href="http://codex.wordpress.org/Main_Page"><span style="color: #ff0000;">información de WordPress</span></a> si existe alguna &#8216;Función/Hok/Utilidad &#8216; sobre lo que queremos hacer. Si no existe , se intentará implementar en alguno de los &#8217;sitios&#8217; que ya sabemos ( function.php o directorio pluguins ) .</p>
<ul>
<li><strong>¿Existe ya ese pluguin?</strong> : Puede que no exista en WordPress , pero si que alguien haya hecho algo parecido, que nos sirve como punto de partida.</li>
</ul>
<p>En el siguiente post , pondremos el primer ejemplo de pluguin. Intentando abarcar varias posibilidades a la vez.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hazmeunaweb.com/wordpress/planteando-las-estructuras-del-pluguin/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>¿Cómo , Donde , Cuando , Crear un Pluguin WordPress ?</title>
		<link>http://www.hazmeunaweb.com/wordpress/%c2%bfcomo-donde-cuando-crear-un-pluguin-wodpress/</link>
		<comments>http://www.hazmeunaweb.com/wordpress/%c2%bfcomo-donde-cuando-crear-un-pluguin-wodpress/#comments</comments>
		<pubDate>Tue, 29 Dec 2009 20:48:19 +0000</pubDate>
		<dc:creator>Manuel Martínez</dc:creator>
				<category><![CDATA[Como Hacer Pluguin WordPress]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[hazmeunaweb]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[pluguin wordpress]]></category>

		<guid isPermaLink="false">http://www.hazmeunaweb.com/?p=35</guid>
		<description><![CDATA[Hola .
Este  post, pretende ser el primero , de  una serie de post sobre como inciciarse, en el mundo de los pluguins , en WordPress.
El título, intenta hablar sobre dichos conceptos y como se relacionan entre ellos. 


Para entender este artículo se deben conocer estos conceptos:

¿Qué es un Theme de WordPress?: Simplificando podemos decir que [...]]]></description>
			<content:encoded><![CDATA[<h3><span style="font-size: small;">Hola .</span></h3>
<h3><span style="font-size: small;">Este  post, pretende ser el primero , de  una serie de post sobre como inciciarse, en el mundo de los pluguins , en WordPress.</span></h3>
<p><span style="font-size: small;">El título, intenta hablar sobre dichos conceptos y como se relacionan entre ellos. </span></p>
<p><span style="font-size: small;"><span id="more-35"></span><br />
</span></p>
<p><span style="text-decoration: underline;"><strong><span style="font-size: small;">Para entender este artículo se deben conocer estos conceptos:</span></strong></span></p>
<ul>
<li><span style="font-size: small;"><span style="color: #33cccc;"><strong>¿Qué es un Theme de WordPress?: </strong><span style="color: #000000;">Simplificando podemos decir que es un diseño de una página web para WordPress. Más info <a title="como crear theme wordpress" href="http://codex.wordpress.org/Theme_Development"><span style="color: #ff0000;"><strong>AQUI</strong></span></a></span></span></span></li>
</ul>
<ul>
<li><strong><span style="color: #33cccc;">¿Qué es PHP4 , PHP5 ? :</span> </strong>Es un lenguaje de programación PHP ( que se ejecuta en el servidor donde se aloja la web) y dos versiones del mismo 4 y 5 . Más info <span style="color: #ff0000;"><span style="background-color: #ffffff;"><a title="como crear theme wordpress" href="http://es.wikipedia.org/wiki/PHP"><strong>AQUI</strong></a></span></span></li>
</ul>
<ul>
<li><strong><span style="color: #33cccc;">¿Qué son funciones , Clases ?</span> : </strong>Dentro del lenguaje de programación funciones se refiere a una programación estructurada y clases a una OOP ( programación orientada  a objetos ) . Más info <a title="como crear theme wordpress" href="http://grupos.emagister.com/debate/comparacion_entre_poo_y_programacion_estructura/6838-464500"><strong>AQUI</strong></a></li>
</ul>
<ul>
<li><strong><span style="color: #33cccc;">¿Qué es Css ? : </span></strong>Css es un mecanismo que define como se interpretará el documento en la salida que elijmos ( por ejemplo define como se verá este documento en tu pantalla , colores tamaño letra etc) Más info <a title="como crear theme wordpress" href="http://www.w3c.es/divulgacion/guiasbreves/HojasEstilo"><strong>AQUI</strong></a></li>
</ul>
<ul>
<li><strong><span style="color: #33cccc;">¿Qué es Js o JavaScript ?</span> : </strong>Es un lenguaje de programación ( scripting) , del lado del cliente ( se ejecuta en tu ordenador ) . Sirve para añadir acciones a la página para hacerla más interactiva.  Más info <a title="como crear theme wordpress" href="http://es.wikipedia.org/wiki/JavaScript"><strong>AQUI</strong></a></li>
</ul>
<p><span style="font-size: medium;"><span style="font-size: small;">Estas son las principales preguntas que uno se hace al buscar información de como hacer un pluguin</span>.<br />
</span></p>
<p><span style="font-size: medium;"><span style="background-color: #ffffff;"><span style="color: #ff9900;"><strong><span style="text-decoration: underline;">¿Cómo crear un pluguin?</span></strong></span></span></span></p>
<p><span style="font-size: small;"><span style="background-color: #ffffff;"><span style="color: #ff9900;"><span style="color: #000000;">Aquí hablaremos de como crearlo,  desde varios puntos de vista.</span></span></span></span></p>
<ul>
<li><span style="font-size: small;"><span style="background-color: #ffffff;"><span style="color: #ff9900;"><span style="color: #000000;"><strong>La necesidad</strong> : ¿Debe estar incluido, en un theme de wordpress, o queremos añadir alguna funcionalidad extra a un theme ya defininido?.</span></span></span></span></li>
<li><span style="font-size: small;"><span style="background-color: #ffffff;"><span style="color: #ff9900;"><span style="color: #000000;"><strong>Estructura de Programación</strong> :¿Qué debe incluir ese pluguin en concreto?  ¿Sólo funciones , Clases, Css, Js etc?</span></span></span></span></li>
<li><span style="font-size: small;"><span style="background-color: #ffffff;"><span style="color: #ff9900;"><span style="color: #000000;"><strong>Compatibilidad </strong>: ¿PHP4? ¿PHP5? ¿Ambos?</span></span></span></span></li>
</ul>
<p><span style="font-size: medium;"><span style="color: #ff9900;"><strong><span style="text-decoration: underline;">¿Donde crear un pluguin?</span></strong></span></span></p>
<p><span style="font-size: small;">Aquí hablaremos de donde crearlo desde el punto de vista, de la estructura de archivos de wordpress.</span></p>
<p><span style="color: #ff9900;"><span style="font-size: medium;"><strong><span style="text-decoration: underline;">¿Cuando crear un pluguin?</span></strong></span></span></p>
<p><span style="font-size: small;">Aquí hablaremos de cuando crearlo desde varios puntos de vista. </span></p>
<ul>
<li><span style="font-size: small;"><strong>Desde el punto de vista de del conocimiento de wordpress</strong>: Este punto es el más dificl de todos. Implica conocer TODA la programación y HOOKS ( &#8216;funciones&#8217; de WordPress)  ya implementados , para no reinventar la rueda y repetir algo ya hecho. Por ejemplo existe una digamos por ahora &#8220;función&#8221; en WordPress llamada  is_home() , que indica cuando el usuario, se encuentra el la HOME de la blog/web. Si desconocemos esto podemos intentar implementar una función, que nos averigue la URL para hacer lo mismo <img src='http://www.hazmeunaweb.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</span></li>
<li><span style="font-size: small;"><strong>¿Existe ya ese pluguin?</strong> : ¿Existe, pero queremos mejorarlo/cambiarlo, etc ?</span></li>
</ul>
<p>En el siguiente post , definiremos unas variables sencillas para empezar y lo iremos complicando ; )</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hazmeunaweb.com/wordpress/%c2%bfcomo-donde-cuando-crear-un-pluguin-wodpress/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
