<?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>ZXBLog.laullon.com &#187; wordpress</title>
	<atom:link href="http://zxblog.laullon.com/tag/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://zxblog.laullon.com</link>
	<description>German Laullon</description>
	<lastBuildDate>Thu, 24 Jun 2010 19:12:58 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>NM: Errores en WP (PHP)</title>
		<link>http://zxblog.laullon.com/2009/04/21/nm-errores-en-wp-php/</link>
		<comments>http://zxblog.laullon.com/2009/04/21/nm-errores-en-wp-php/#comments</comments>
		<pubDate>Tue, 21 Apr 2009 20:40:28 +0000</pubDate>
		<dc:creator>German Laullon</dc:creator>
				<category><![CDATA[Notas Mentales]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[.htaccess]]></category>
		<category><![CDATA[control]]></category>
		<category><![CDATA[display_errors]]></category>
		<category><![CDATA[editar]]></category>
		<category><![CDATA[errores]]></category>
		<category><![CDATA[php_flag]]></category>

		<guid isPermaLink="false">http://zxblog.laullon.com/?p=92</guid>
		<description><![CDATA[Todos los que desarrollamos para]]></description>
			<content:encoded><![CDATA[<p>Todos los que desarrollamos para WordPress sabemos lo difícil que es averiguar que esta fallando cuando tenemos problemas, bien pues esto puede ayudar un poco:</p>
<p>Solo hay que poner esto en el fichero <strong>.htaccess</strong> de tu instalación.</p>
<pre>php_flag display_errors on</pre>
<p>Esto lo puedes hacer de forma sencilla usando el plugin <a href="http://wordpress.org/extend/plugins/wp-htaccess-control/">WP htaccess Control</a>, que nos permite editar el fichero <strong>.htaccess</strong> sin necesidad de usar clientes FTP.</p>
<p>Via: <a href="http://ayudawordpress.com/como-mostrar-los-mensajes-de-error-de-wordpress/">Como mostrar los mensajes de error de WordPress</a></p>
]]></content:encoded>
			<wfw:commentRss>http://zxblog.laullon.com/2009/04/21/nm-errores-en-wp-php/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Media RSS &#8211; PicLens &#8211; WordPress</title>
		<link>http://zxblog.laullon.com/2008/05/29/media-rss-piclens-wordpress/</link>
		<comments>http://zxblog.laullon.com/2008/05/29/media-rss-piclens-wordpress/#comments</comments>
		<pubDate>Fri, 30 May 2008 06:46:03 +0000</pubDate>
		<dc:creator>German Laullon</dc:creator>
				<category><![CDATA[programacion]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[namespaces]]></category>
		<category><![CDATA[photoblog]]></category>
		<category><![CDATA[piclens]]></category>
		<category><![CDATA[rrs2_ns]]></category>
		<category><![CDATA[rss media]]></category>
		<category><![CDATA[rss_item]]></category>
		<category><![CDATA[yahoo]]></category>

		<guid isPermaLink="false">http://zxblog.laullon.com/?p=54</guid>
		<description><![CDATA[En este post os voy]]></description>
			<content:encoded><![CDATA[<p>En este post os voy a mostrar como he modificado mi <a href="http://www.laullon.com/blog/" target="_blank">PhotoBlog</a> (<a href="http://wordpress.org/" target="_blank">WordPress</a> y <a href="http://zxblog.laullon.com/plugin-photoblog/" target="_blank">PhotoBlog Plugin</a>, que os cotare en otra ocasión), añadiéndole soporte para <a href="http://search.yahoo.com/mrss" target="_blank">Media RSS</a>, para que se puedan ver todas las fotos de forma espectacular con <a href="http://piclens.com/" target="_blank">PicLens</a>.</p>
<p>Básicamente he creado un pequeño plugin que modifica el xml del RSS generado por WorPress para añadir el <a href="http://www.w3.org/TR/REC-xml-names/" target="_blank">Namespaces</a> <strong>xmlns:media=&#8221;http://search.yahoo.com/mrss/&#8221;</strong> para lo cual he usado la acción &#8216;<a href="http://codex.wordpress.org/Plugin_API/Action_Reference" target="_blank">rss2_ns</a>&#8216; que permite añadir nuevos Namespaces, y luego he usado la acción &#8216;<a href="http://codex.wordpress.org/Plugin_API/Action_Reference" target="_blank">rss2_item</a>&#8216; que permite añadir nuevos elementos xml a cada item.</p>
<p>Aqui teneis el codigo:</p>
<pre>add_action('rss2_ns', 'rss2_ns');
function rss2_ns(){
	echo 'xmlns:media="http://search.yahoo.com/mrss"';
}

add_action('rss2_item', 'rss2_item');
function rss2_item(){
	global $post;

	//var_dump($post);

	if(preg_match('#&lt;img[^&gt;]*&gt;#s',$post-&gt;post_content,$valores)){
		list($tag)=$valores;
		if(preg_match('#src=\"(.*?)\"#s', $tag, $valores)) list(,$url)=$valores;
		if(preg_match('#(\w+://[^/]*)?(.*)#', $url, $valores)) list(,$server,$img)=$valores;
		if(preg_match('#(.*)/(.*)#', $img, $valores)) list(,$path,$file)=$valores;

		echo "&lt;media:thumbnail url='$server$path/thumb_$file'/&gt;";
		echo "&lt;media:content url='$url'/&gt;";
	}
}
</pre>
<p>Las dos elementos que hay que añadir son :</p>
<ul>
<li>&lt;media:thumbnail url=&#8217;{URL de la miniatura}&#8217;/&gt;</li>
<li>&lt;media:content url=&#8217;{URL de la imagen}&#8217;/&gt;</li>
</ul>
<p>En mi codigo lo que hago es coger la primera imagen del Post, obtener la URL de la foto, y modificar esta URL para que sea la de la miniatura.</p>
]]></content:encoded>
			<wfw:commentRss>http://zxblog.laullon.com/2008/05/29/media-rss-piclens-wordpress/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WordPress en varios idiomas (IV)</title>
		<link>http://zxblog.laullon.com/2008/05/14/wordpress-en-varios-idiomas-iv/</link>
		<comments>http://zxblog.laullon.com/2008/05/14/wordpress-en-varios-idiomas-iv/#comments</comments>
		<pubDate>Thu, 15 May 2008 07:54:37 +0000</pubDate>
		<dc:creator>German Laullon</dc:creator>
				<category><![CDATA[programacion]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[preg_replace_callback]]></category>
		<category><![CDATA[the_content]]></category>

		<guid isPermaLink="false">http://zxblog.laullon.com/?p=44</guid>
		<description><![CDATA[Ya solo nos queda filtra]]></description>
			<content:encoded><![CDATA[<p>Ya solo nos queda filtra el contenido del post para dejar solo las partes del texto que están en el idioma solicitado.</p>
<h2><span style="font-weight: normal">F</span>iltrando el contenido del post</h2>
<p>Ya en el capitulo anterior hemos configurado el filtro &#8220;<a href="http://codex.wordpress.org/Template_Tags/the_content" target="_blank">the_content</a>&#8221; por lo que solo tenemos que añadir el código necesario para aplicar al texto una expresión regular que buscará las etiquetas que definen los idiomas y que serán pasadas a la función que realiza los cambios, para todo esto voy a usar la función &#8220;<a href="http://us.php.net/preg_replace_callback" target="_blank">preg_replace_callback</a>&#8220;.</p>
<pre>$text=preg_replace_callback("|\[lang='(.*)'\](.*)\[/lang\]|","replace",$text);</pre>
<p>La función &#8220;replace&#8221; es invocada una vez por cada coincidencia, recibiendo como parámetro cada una de las coincidencias y los grupos detectados por el expresión regular, y tiene que devolver el texto por el que se reemplazaran la coincidencia. Por lo tanto, esta función es muy sencilla, si el idioma (grupo 1) es igual al idioma seleccionado devuelve el texto (grupo 2) y en caso contrario devuelve &#8220;vacío&#8221;. Aquí el código de la función:</p>
<pre>function replace($matchs){
	global $lang;
	$res="";
	if($matchs[1]==$lang) $res=$matchs[2];
	return $res;
}</pre>
<div><span><br />
</span></div>
<p>Y listo&#8230; ya esta&#8230; ya funciona&#8230;  lo podéis ver funcionando en la <a href="http://zxblog.laullon.com/test/" target="_blank">página de prueba</a> junto con el código fuente completo.</p>
]]></content:encoded>
			<wfw:commentRss>http://zxblog.laullon.com/2008/05/14/wordpress-en-varios-idiomas-iv/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WordPress en varios idiomas (III)</title>
		<link>http://zxblog.laullon.com/2008/05/09/wordpress-en-varios-idiomas-iii/</link>
		<comments>http://zxblog.laullon.com/2008/05/09/wordpress-en-varios-idiomas-iii/#comments</comments>
		<pubDate>Sat, 10 May 2008 02:52:42 +0000</pubDate>
		<dc:creator>German Laullon</dc:creator>
				<category><![CDATA[programacion]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[array_unique]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[preg_match_all]]></category>

		<guid isPermaLink="false">http://zxblog.laullon.com/?p=39</guid>
		<description><![CDATA[Para que los lectores puedan]]></description>
			<content:encoded><![CDATA[<p>Para que los lectores puedan seleccionar el idioma que mas les interese, he decidido que voy a colocar una barra con las banderas de los idiomas disponibles antes del texto del Post.</p>
<h2><span style="font-weight: normal">C</span><span style="font-weight: normal">rear la Barra de Banderas.</span></h2>
<p>Lo primero que tenemos que hacer es aplicar una expresión regular al contenido para extraer cuanto idiomas se están usando en las etiquetas &#8220;[lang= 'xx']&#8221;  para lo que usaremos las funciones &#8220;<a href="http://us3.php.net/preg_match_all" target="_blank">preg_match_all</a>&#8221; y &#8220;<a href="http://us3.php.net/manual/es/function.array-unique.php" target="_blank">array_unique</a>&#8220;.</p>
<pre>preg_match_all("/\[lang='(.*)'\]/",$text,$salida);
$idomas=array_unique($salida[1]);</pre>
<p>Luego generaremos el código HTML necesario para poner las imágenes necesarias y los links con el parámetro &#8220;lang=xx&#8221; del que ya hablamos en el <a href="http://zxblog.laullon.com/2008/04/wordpress-en-varios-idiomas-i/">primer</a> capitulo. Cuando el idioma coincida con el que se esta usando, no pondremos el link.</p>
<pre>$bar="
<div>";
foreach ($idomas as $i) {
    if($i!=$lang) $bar.="<a>";
    $bar.="<img src="/wp-content/plugins/ML/flags/{$i}.png" alt="" />";
    if($i!=$lang) $bar.="</a>";
}
$bar.="</div>

";
$text=$bar.$text;</pre>
<p>Por lo que la función que filtra el contenido del Post quedaría así:</p>
<pre>add_filter('the_content', 'filtro');

function filtro($text) {
	global $current_user, $wp_query , $post;

	$lang=$wp_query-&gt;query_vars['lang'];
	if(empty($lang)) $lang="es";

	preg_match_all("/\[lang='(.*)'\]/",$text,$salida);
	$idomas=array_unique($salida[1]);

	$bar="
<div>";
	foreach ($idomas as $i) {
		if($i!=$lang) $bar.="<a>";
		$bar.="<img src="/wp-content/plugins/ML/flags/{$i}.png" alt="" />";
		if($i!=$lang) $bar.="</a>";
	}
	$bar.="</div>

";
	$text=$bar.$text;

	return($text);
}</pre>
<p>Continua en <a href="http://zxblog.laullon.com/2008/05/wordpress-en-varios-idiomas-iv/">http://zxblog.laullon.com/2008/05/wordpress-en-varios-idiomas-iv/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://zxblog.laullon.com/2008/05/09/wordpress-en-varios-idiomas-iii/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WordPress en varios idiomas (II)</title>
		<link>http://zxblog.laullon.com/2008/05/01/wordpress-en-varios-idiomas-ii/</link>
		<comments>http://zxblog.laullon.com/2008/05/01/wordpress-en-varios-idiomas-ii/#comments</comments>
		<pubDate>Thu, 01 May 2008 20:00:13 +0000</pubDate>
		<dc:creator>German Laullon</dc:creator>
				<category><![CDATA[programacion]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[mce_buttons]]></category>
		<category><![CDATA[mce_external_plugins]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[tinynce]]></category>

		<guid isPermaLink="false">http://zxblog.laullon.com/?p=37</guid>
		<description><![CDATA[He decidido que voy a]]></description>
			<content:encoded><![CDATA[<p>He decidido que voy a usar una etiqueta para indicar al plugin que partes del post tiene que mostrar para cada idioma, esta etiqueta tendra el siguiente formato:</p>
<pre style="padding-left: 30px">[lang='es']texto que esta en español[/lang]</pre>
<pre style="padding-left: 30px">[lang='en']texto que esta en ingles[/lang]</pre>
<h2>Añadir botones en el editor de WordPress (<a href="http://tinymce.moxiecode.com/" target="_blank">TinyMCE</a>)</h2>
<p>Lo siguiente que voy a hacer es añadir un plugin al TinyMCE que trae WordPress para añadir las etiquetas necesarias para saber en que idioma están las diferentes partes del post.</p>
<p>Lo primero que hay que hacer es indicarle a WordPres que queremos añadir unos botones en la barra de herramientas del editor, para ello usamos el filtro &#8220;<a href="http://codex.wordpress.org/TinyMCE_Custom_Buttons" target="_blank">mce_buttons</a>&#8220;, este filtro envía a la función un array al que hay que añadir el nombre de los botones que definiremos posteriormente en el plugin del editor</p>
<pre>add_filter('mce_buttons', 'ML_mce_buttons');

function ML_mce_buttons($buttons) {
   array_push($buttons, "separator", "ML_en_bt", "ML_es_bt");
   return $buttons;
}</pre>
<p>Lo siguiente es indicar a WordPress cual es fichero de JavaScript que define el plugin del editor, para ello usaremos el filtro &#8220;<a href="http://codex.wordpress.org/TinyMCE_Custom_Buttons" target="_blank">mce_external_plugins</a>&#8220;, este filtro nos envía un mapa al que tenemos que añadir el nombre del plugin del editor y el fichero JavaScript en el que esta defenido.</p>
<pre>add_filter("mce_external_plugins", "ML_mce_external_plugins");

function ML_mce_external_plugins($plugin_array) {
   $plugin_array['ML'] = '/wp-content/plugins/ML/ml.js';
   return $plugin_array;
}</pre>
<p>Aquí os pongo el código completo del del fichero que define el plugin del editor, y a continuación lo explico línea a línea</p>
<pre>(function() {
  tinymce.create('tinymce.plugins.ML', {
    init : function(ed, url) {
      ed.addCommand('ML_apply', function(ui, value) {
        ed.execCommand('mceReplaceContent', 0, "[lang='"+value+"']{$selection}[/lang]");
      });
      ed.addButton('ML_en_bt', {
        title : 'Ingles',
        image : url + '/flags/gb.png',
        cmd : 'ML_apply',
        value:'en'
      });
      ed.addButton('ML_es_bt', {
        title : 'Espa–ol',
        image : url + '/flags/es.png',
        cmd : 'ML_apply',
        value:'es'
      });
    },
    getInfo : function() {
      return {
        longname : 'ML Plugin',
        author : 'laullon',
        authorurl : 'http://wordpress.org',
        infourl : 'http://wordpress.org',
        version : '0'
      };
    }
  });
  tinymce.PluginManager.add('ML', tinymce.plugins.ML);
})();</pre>
<ul>
<li>Línea 2. Creamos el plugin.</li>
<li>Líneas 3-19. Funcion &#8220;init&#8221;, en esta función definimos todo lo necesario para el plugin.
<ul>
<li>Líneas 4-6. Añadimos la función que se ejecutara cuando se pulse en unos de los botones.</li>
</ul>
<ul>
<li>Líneas 7-12 y 13-18. Creamos los dos botones con los nombres definidos en el plugin de WordPress.</li>
</ul>
</li>
<li>Línea 30. Añadimos el plugin al editor.</li>
</ul>
<p>Aquí tenéis el resultado.<br />
<a href="http://zxblog.laullon.com/files/2008/05/toolbar.png"><img src="http://zxblog.laullon.com/files/2008/05/toolbar-300x44.png" alt="" width="300" height="44" /></a> </p>
<p>Mas info acerca los plugins de TinyMCE aquí: <a href="http://wiki.moxiecode.com/index.php/TinyMCE:API" target="_blank">http://wiki.moxiecode.com/index.php/TinyMCE:API</a></p>
<p>Continua en: <a href="http://zxblog.laullon.com/2008/05/wordpress-en-varios-idiomas-iii/">http://zxblog.laullon.com/2008/05/wordpress-en-varios-idiomas-iii/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://zxblog.laullon.com/2008/05/01/wordpress-en-varios-idiomas-ii/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>WordPress en varios idiomas (I)</title>
		<link>http://zxblog.laullon.com/2008/04/30/wordpress-en-varios-idiomas-i/</link>
		<comments>http://zxblog.laullon.com/2008/04/30/wordpress-en-varios-idiomas-i/#comments</comments>
		<pubDate>Thu, 01 May 2008 06:08:07 +0000</pubDate>
		<dc:creator>German Laullon</dc:creator>
				<category><![CDATA[programacion]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[query_vars]]></category>
		<category><![CDATA[the_content]]></category>
		<category><![CDATA[wp_query]]></category>

		<guid isPermaLink="false">http://zxblog.laullon.com/?p=27</guid>
		<description><![CDATA[Durante los últimos días he]]></description>
			<content:encoded><![CDATA[<p>Durante los últimos días he estado probando algunos plugins para dotar a mi blog de capacidad para tener Post y Pages en varios idiomas, pero ninguno de los que he probado me ha terminado de convencer, así que me he decido a escribir mi propio plugin, y aquí os voy a contar como lo voy haciendo.</p>
<p>Para empezar tenemos que hacer es crear el fichero que contendrá todo el código del plugin, para ello lo mejor es seguir la documentación propia de <a href="http://codex.wordpress.org/Writing_a_Plugin#Names.2C_Files.2C_and_Locations" target="_blank">WordPress</a>.</p>
<p>Lo primero que voy a definir y programar es como indicarle al plugin que lenguaje tiene que usar a la hora de mostrar el post o la página.<br />
En un primer momento pensé en indicarlo re-escribiendo las URL, por ejemplo, si la URL original era:</p>
<pre style="padding-left: 30px">http://example.com/2008/08/titulo</pre>
<p>para indicar que la queríamos en Ingles debería ser:</p>
<pre style="padding-left: 30px">http://example.com/<strong>en</strong>/2008/08/titulo</pre>
<p>Pero después de hacer algunas pruebas he descartado esta opción por que complicaba el desarrollo con re-direcciones, o por lo menos no he encontrado una forma sencilla de hacerlo.</p>
<p>Por lo tanto voy a usar un parámetro en la URL para indicar el lenguaje, por lo que la URL quedaría de esta forma:</p>
<pre style="padding-left: 30px">http://example.com/2008/08/titulo?<strong>lang=en</strong></pre>
<p>Para usar este método lo primero que hay que hacer es indicarle a WordPress que tiene que recoger ese parámetro de la URL, para esto, usaremos un filtro llamado &#8220;<a href="http://codex.wordpress.org/Custom_Queries" target="_blank">query_vars</a>&#8220;.</p>
<pre>add_filter('query_vars', 'ML_query_vars');

function ML_query_vars($qvars){
	$qvars[] = 'lang';
	return($qvars);
}</pre>
<p>Cuando WordPress invoca la función &#8220;ML_query_vars&#8221; asignada a este filtro nos pasa un Array con los parametros/variables que va extraer de la petición, lo único que tenemos que hacer es añadir la cadena &#8220;lang&#8221; a este array y devolver este array como resultado de la función.</p>
<p>Una vez hecho esto, solo tenemos acceder al objeto &#8220;wp_query&#8221; para obtener el valor de la variable &#8220;lang&#8221; cuando se necesite, por ejemplo, cuando se filtra el contenido del post. </p>
<pre>add_filter('the_content', 'filtro');

function filtro($text) {
	global $current_user, $wp_query;
	$lang= $wp_query-&gt;query_vars['lang'];
        return($text);
}</pre>
<p>Continua en &#8220;<a href="http://zxblog.laullon.com/2008/05/wordpress-en-varios-idiomas-ii/" target="_self">Añadir botones en el editor de WordPress (TinyMCE)</a>&#8220;</p>
]]></content:encoded>
			<wfw:commentRss>http://zxblog.laullon.com/2008/04/30/wordpress-en-varios-idiomas-i/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Leopard Admin &#8211; WordPress como MAC OS X</title>
		<link>http://zxblog.laullon.com/2008/04/23/leopard-admin-wordpress-como-mac-os-x/</link>
		<comments>http://zxblog.laullon.com/2008/04/23/leopard-admin-wordpress-como-mac-os-x/#comments</comments>
		<pubDate>Wed, 23 Apr 2008 21:05:43 +0000</pubDate>
		<dc:creator>German Laullon</dc:creator>
				<category><![CDATA[wordpress]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://zxblog.laullon.com/?p=17</guid>
		<description><![CDATA[
Desde que se lanzo WordPress]]></description>
			<content:encoded><![CDATA[<p style="text-align: center"><a href="http://zxblog.laullon.com/files/2008/04/pp1.png"><img class="alignnone size-medium wp-image-18" src="http://zxblog.laullon.com/files/2008/04/pp1-300x217.png" alt="leopard admin wordpress" width="300" height="217" /></a></p>
<p style="text-align: left">Desde que se lanzo <a href="http://wordpress.org/development/2008/03/wordpress-25-brecker/" target="_blank">WordPress 2.5</a> parece que a la mayoría de los bloggers no les gusta la parte de administración. Gracias a esto están apareciendo numerosos plugin para cambiarlo.</p>
<p style="text-align: left">A mi no es que me disguste, pero he decidido probar algunos de ellos, y he decidido quedarme con el &#8220;<a href="http://www.teddyhwang.com/resources/leopardadmin/" target="_blank">Leopard Admin</a>&#8221; qe acaba de lanzar <a href="http://www.teddyhwang.com/" target="_blank">Teddy Hwang</a>.</p>
<p style="text-align: left">Este plugin le da un aspecto similar, como su nombre indica, a un Mac OS X Leopard, facilitando la navegación, que era lo que menos me gustaba.</p>
<p style="text-align: left">Link: <a href="http://www.teddyhwang.com/resources/leopardadmin/" target="_blank">http://www.teddyhwang.com/resources/leopardadmin/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://zxblog.laullon.com/2008/04/23/leopard-admin-wordpress-como-mac-os-x/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WP-Syntax &#8211; WordPress Plugin</title>
		<link>http://zxblog.laullon.com/2008/04/16/wp-syntax-wordpress-plugin/</link>
		<comments>http://zxblog.laullon.com/2008/04/16/wp-syntax-wordpress-plugin/#comments</comments>
		<pubDate>Thu, 17 Apr 2008 03:58:23 +0000</pubDate>
		<dc:creator>German Laullon</dc:creator>
				<category><![CDATA[wordpress]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://zxblog.laullon.com/?p=11</guid>
		<description><![CDATA[Dado que en este blog]]></description>
			<content:encoded><![CDATA[<p>Dado que en este blog tengo pensado hablar de programación y que ello supone pegar piezas de código dentro de los pots, he buscado algo que me ayude, que seria del código fuente sin los colores, también conocido como &#8220;Highlight&#8221;.</p>
<p>Para conseguir que las piezas de código fuentes aparezcan bien coloreadas voy a usar un plugin para WordPress llamado <a href="http://wordpress.org/extend/plugins/wp-syntax/" target="_blank">WP-Syntax</a></p>
<p style="text-align: left">Algunos ejemplos de como queda: </p>
<p style="text-align: center">HTML</p>
<pre>&lt;div class="wp_syntax"&gt;&lt;div class="code"&gt;&lt;pre class="php"&gt;&lt;span style="color: #ff0000;"&gt;'pre'&lt;/span&gt; =&gt; &lt;span style="color: #000066;"&gt;array&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;(&lt;/span&gt;
      &lt;span style="color: #ff0000;"&gt;'width'&lt;/span&gt; =&gt; &lt;span style="color: #000066;"&gt;array&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;(&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;)&lt;/span&gt;,
      &lt;span style="color: #ff0000;"&gt;'lang'&lt;/span&gt; =&gt; &lt;span style="color: #000066;"&gt;array&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;(&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;)&lt;/span&gt;,
      &lt;span style="color: #ff0000;"&gt;'line'&lt;/span&gt; =&gt; &lt;span style="color: #000066;"&gt;array&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;(&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;)&lt;/span&gt;
&lt;span style="color: #66cc66;"&gt;)&lt;/span&gt;,&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;</pre>
<p style="text-align: center"> PHP</p>
<pre>&lt; ? print(Date("m/j/y")); ?&gt;</pre>
<p style="text-align: center">JAVA</p>
<pre>/* hola */
public class pp extends pp{
     System.out.println("hola"+p+".");
}</pre>
<p>Durante las pruebas que he realizado me he encontrado algún que otro problemilla con los caracteres especiales, y con el editor que trae el WordPress 2.5. Para hacer mas cómodo el uso de este plugin he realizado las siguientes modificaciones:</p>
<ol>
<li>He modificado el fichero &#8220;kses.php&#8221; para WP reconozca las propiedades &#8220;lang&#8221; y &#8220;line&#8221; necesarias para que el plugin funcione.
<pre>'pre' =&gt; array(
      'width' =&gt; array(),
      'lang' =&gt; array(),
      'line' =&gt; array()
),</pre>
<p>via: <a href="http://realespace.com/2008/03/08/wordpress-tip-stop-wordpress-from-stripping-markup-in-your-posts/" target="_blank">http://realespace.com/2008/03/08/wordpress-tip-stop-wordpress-from-stripping-markup-in-your-posts/</a></li>
<li>He modificado el fichero &#8220;wp-syntax.php&#8221; (pugin) para que descodifique los caracteres especiales de HTML antes de aplicar los colores.
<pre>$geshi = new GeSHi(htmlspecialchars_decode($code), $language);</pre>
<p>via: <a href="http://blog.felho.hu/escaping-problem-with-wp-syntax-wordpress-plugin.html" target="_blank">http://blog.felho.hu/escaping-problem-with-wp-syntax-wordpress-plugin.html </a></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://zxblog.laullon.com/2008/04/16/wp-syntax-wordpress-plugin/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>WordPress &amp; iPhone</title>
		<link>http://zxblog.laullon.com/2008/04/16/wordpress-iphone/</link>
		<comments>http://zxblog.laullon.com/2008/04/16/wordpress-iphone/#comments</comments>
		<pubDate>Thu, 17 Apr 2008 00:40:36 +0000</pubDate>
		<dc:creator>German Laullon</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://zxblog.laullon.com/?p=9</guid>
		<description><![CDATA[
Acabo de instalar un plugin]]></description>
			<content:encoded><![CDATA[<p style="text-align: center"><a href="http://zxblog.laullon.com/files/2008/04/iphone.png"><img class="alignnone size-medium wp-image-10" src="http://zxblog.laullon.com/files/2008/04/iphone-156x300.png" alt="iphone wordpress" width="156" height="300" /></a></p>
<p style="text-align: justify">Acabo de instalar un <a href="http://iwphone.contentrobot.com/" target="_blank">plugin</a> y un tema en mi <a href="http://wordpress.org/" target="_blank">WordPress</a> para facilitar la lectura de este blog desde un <a href="http://www.apple.com/iphone/" target="_blank">iPhone</a> o un iPod Touch.</p>
<p style="text-align: justify">El plugin es muy sencillo de instalar y configurar, basta con seguir las <a href="http://iwphone.contentrobot.com/2007/07/04/iwphone-wordpress-plugin-and-theme#download" target="_blank">instrucciones de la web</a>, y en cuestion de segundos esta en marcha.</p>
<p style="text-align: justify">De todas formas, he tenido que modificar un poco el plugin para que tambien funcione desde Aspen, el simulador de iPhone que viene incluido en el <a href="http://developer.apple.com/iphone/program/" target="_blank">iPhone SDK</a>.</p>
<p style="text-align: justify">La modificación consiste en añadir la cadena &#8220;A<em><span style="color: #000080">spen</span></em>&#8221; en el array &#8220;<span style="color: #000080">$useragents</span>&#8221; del fichero &#8220;<span style="color: #000080">iwphone.php</span>&#8221; lineas 41 y 42, tiene que quedar algo asi:</p>
<p style="padding-left: 30px;text-align: justify"><span style="font-family: 'Courier New';line-height: 18px">$useragents = array (&#8220;iPhone&#8221;,&#8221;iPod&#8221;,&#8221;Aspen&#8221;);</span></p>
<p style="text-align: justify">Url del plugin: <a href="http://iwphone.contentrobot.com/" target="_blank">http://iwphone.contentrobot.com/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://zxblog.laullon.com/2008/04/16/wordpress-iphone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
