<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2spanishfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.todowp.org/~d/styles/itemcontent.css"?><rss 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/" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>TodoWordPress</title>
	
	<link>http://www.todowp.org</link>
	<description>Tu portal de recursos de WordPress</description>
	<lastBuildDate>Mon, 08 Feb 2010 19:00:37 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.todowp.org/todowordpress" /><feedburner:info uri="todowordpress" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><creativeCommons:license>http://creativecommons.org/licenses/by-nc/3.0/</creativeCommons:license><xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" /><meta xmlns="http://pipes.yahoo.com" name="pipes" content="noprocess" /><image><link>http://www.todowordpress.org/</link><url>http://img.todowordpress.org/logos/todowp-1_200x47.png</url><title>TodoWordPress</title></image><feedburner:emailServiceId>todowordpress</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/content?lg=es&amp;url=http%3A%2F%2Ffeeds.todowp.org%2Ftodowordpress" src="http://eur.i1.yimg.com/eur.yimg.com/i/es/my/addto1.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.todowp.org%2Ftodowordpress" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.todowp.org/todowordpress" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.todowp.org%2Ftodowordpress" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.todowp.org%2Ftodowordpress" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.todowp.org%2Ftodowordpress" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><item>
		<title>Deshabilitar el mensaje de actualización de WordPress</title>
		<link>http://feeds.todowp.org/~r/todowordpress/~3/razDa38zFUs/</link>
		<comments>http://www.todowp.org/deshabilitar-el-mensaje-de-actualizacion-de-wordpress/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 19:00:37 +0000</pubDate>
		<dc:creator>Ignacio</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Trucos]]></category>
		<category><![CDATA[Actualización]]></category>

		<guid isPermaLink="false">http://www.todowp.org/?p=2975</guid>
		<description><![CDATA[Nuestro escritorio nos da un mensaje cada vez que una nueva versión de WordPress es lanzada, con tal de que actualicemos la nuestra y estemos preparados para protegernos de los últimas vulnerabilidades o bugs que WP haya podido sufrir.
Sin embargo, cuando el site que gestionamos pertenece a un amigo / familiar / cliente, a veces [...]]]></description>
			<content:encoded><![CDATA[<p>Nuestro escritorio nos da un mensaje cada vez que una nueva versión de WordPress es lanzada, con tal de que actualicemos la nuestra y estemos preparados para protegernos de los últimas vulnerabilidades o <em>bugs</em> que WP haya podido sufrir.</p>
<p>Sin embargo, cuando el site que gestionamos pertenece a un amigo / familiar / cliente, a veces podemos considerar que será mejor que no interactúe con el sistema de actualizaciones, del que nos encargaríamos por nuestra cuenta al saber que una nueva versión está disponible.</p>
<p>Para desactivar la alerta de <em>upgrade</em>, abriremos functions.php y pegaremos el siguiente código:</p>
<pre>
if (!current_user_can('edit_users')) {
  add_action( 'init', create_function( '$a', "remove_action( 'init', 'wp_version_check' );" ), 2 );
  add_filter( 'pre_option_update_core', create_function( '$a', "return null;" ) );
}
</pre>
<p>El código deberá quedar entre los tags de apertura y cierre de php, como siempre.</p>
<p><span id="more-2975"></span></p>
<p>Recordemos, sin embargo, que actualizar nuestras versiones de WP es siempre fundamental, porque no sólo nos dotamos de las últimas mejoras de nuestra plataforma favorita sino que nos protegemos de los últimos ataques o fallos registrados.</p>
<p>Este pequeño truco sólo debería ser usado con clientes que se desorienten fácilmente, y siempre y cuando estemos allí para realizar el <em>upgrade</em> nosotros mismos.</p>
<img src="http://feeds.feedburner.com/~r/todowordpress/~4/razDa38zFUs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.todowp.org/deshabilitar-el-mensaje-de-actualizacion-de-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.todowp.org/deshabilitar-el-mensaje-de-actualizacion-de-wordpress/</feedburner:origLink></item>
		<item>
		<title>Cómo crear un site de contenido generado por los usuarios</title>
		<link>http://feeds.todowp.org/~r/todowordpress/~3/dfSvgro6PfM/</link>
		<comments>http://www.todowp.org/como-crear-un-site-de-contenido-generado-por-los-usuarios/#comments</comments>
		<pubDate>Sun, 07 Feb 2010 19:00:17 +0000</pubDate>
		<dc:creator>Ignacio</dc:creator>
				<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[Contenido colaborativo]]></category>
		<category><![CDATA[TDO Mini Forms]]></category>

		<guid isPermaLink="false">http://www.todowp.org/?p=2969</guid>
		<description><![CDATA[Podemos fácilmente imaginar un site donde sean los usuarios quienes escriban el contenido, para crear una red asociativa de noticias de cualquier tipo: música, cine, literatura, motor&#8230;
De nuevo, WordPress nos ofrece una solución para ello, a través de un sólido plugin llamado TDO Mini Forms.
Éste es el aspecto que tiene el proceso de la creación [...]]]></description>
			<content:encoded><![CDATA[<p>Podemos fácilmente imaginar un site donde sean los usuarios quienes escriban el contenido, para crear una red asociativa de noticias de cualquier tipo: música, cine, literatura, motor&#8230;</p>
<p>De nuevo, WordPress nos ofrece una solución para ello, a través de un sólido plugin llamado <a href="http://wordpress.org/extend/plugins/tdo-mini-forms/">TDO Mini Forms</a>.</p>
<p>Éste es el aspecto que tiene el proceso de la creación del formulario, en la pantalla de Opciones que el plugin ofrece :</p>
<p><a href="http://img.todowp.org/2010/01/TDO-Form-Configuration-e1262497965484.png" rel="lightbox[2969]"><img style=' display: block; margin-right: auto; margin-left: auto;'  src="http://img.todowp.org/2010/01/TDO-Form-Configuration-e1262497965484-300x160.png" alt="Ejemplo de la creación del formulario" title="Ejemplo de la creación del formulario" width="300" height="160" class="aligncenter size-medium wp-image-3008" /></a></p>
<p><span id="more-2969"></span></p>
<p>Podremos añadir vía &#8220;drag-and-drop&#8221; (arrastrar y soltar) los campos que queramos de entre las opciones disponibles, crear nuevos y, por supuesto, poner un <em>Re-Captcha</em> que impida al spam actuar, re-usar <em>custom fields</em>, importar/exportar, usar la forma creada en un widget, etc.</p>
<p>Podremos escoger entonces una de nuestras páginas estáticas para que albergue el formulario de envío de contenido, que los usuarios (registrados o no, eso depende de la configuración que le demos al plugin), podrán utilizar para proponer sus textos / artículos.</p>
<p>Una vez hayamos creado esa página y sea accesible en la home de nuestro site (en el menú principal por ejemplo), le añadiremos el siguiente <em>short-code</em> en el modo HTML de edición:</p>
<pre>
[tdomf_form1]
</pre>
<p>Un ejemplo de resultado:</p>
<p><a href="http://img.todowp.org/2010/01/News-Submission-WhoFreelance-Web-Development-News.png" rel="lightbox[2969]"><img style=' display: block; margin-right: auto; margin-left: auto;'  src="http://img.todowp.org/2010/01/News-Submission-WhoFreelance-Web-Development-News-272x300.png" alt="" title="Vista previa del formulario" width="272" height="300" class="aligncenter size-medium wp-image-3007" /></a></p>
<p>Fuente : <a href="http://aext.net/2010/01/the-right-way-to-build-wordpress-as-a-community-news/">The Right Way to Build WordPress as a Community Website</a></p>
<img src="http://feeds.feedburner.com/~r/todowordpress/~4/dfSvgro6PfM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.todowp.org/como-crear-un-site-de-contenido-generado-por-los-usuarios/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.todowp.org/como-crear-un-site-de-contenido-generado-por-los-usuarios/</feedburner:origLink></item>
		<item>
		<title>Agrupa tus artículos por semanas con Instant Weekly Roundup (Screencast)</title>
		<link>http://feeds.todowp.org/~r/todowordpress/~3/D4zWoLsfpo4/</link>
		<comments>http://www.todowp.org/agrupa-tus-articulos-por-semanas-con-instant-weekly-roundup-screencast/#comments</comments>
		<pubDate>Sat, 06 Feb 2010 19:00:56 +0000</pubDate>
		<dc:creator>1C11</dc:creator>
				<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[Archivos]]></category>
		<category><![CDATA[Instant Weekly Roundup]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[screencast]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.todowp.org/?p=3073</guid>
		<description><![CDATA[Hemos preparado un screencast sobre un plugin Instant Weekly Roundup, que permite agrupar vuestros artículos ya publicados por semanas, meses y/o categorías.]]></description>
			<content:encoded><![CDATA[<p>He preparado un <em>screencast</em> sobre un plugin llamando <a title="Instant Weekly Roundup" href="http://www.clickonf5.org/instant-weekly-roundup">Instant Weekly Roundup</a>, que <strong>permite agrupar vuestros artículos ya publicados por semanas, meses y/o categorías</strong>. Lo mejor es que veáis cómo funciona en el siguiente vídeo:</p>
<p><center><object width="480" height="295"><param name="wmode" value="opaque" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=9136165&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed wmode="opaque" src="http://vimeo.com/moogaloop.swf?clip_id=9136165&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="480" height="295"></embed></object></embed></center><br /></p>
<p>¿Qué os ha parecido el plugin?</p>
<img src="http://feeds.feedburner.com/~r/todowordpress/~4/D4zWoLsfpo4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.todowp.org/agrupa-tus-articulos-por-semanas-con-instant-weekly-roundup-screencast/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.todowp.org/agrupa-tus-articulos-por-semanas-con-instant-weekly-roundup-screencast/</feedburner:origLink></item>
		<item>
		<title>Quix, un bookmarklet para hacerte la vida más fácil en Wordpress</title>
		<link>http://feeds.todowp.org/~r/todowordpress/~3/NYpthJQSWhw/</link>
		<comments>http://www.todowp.org/quix-un-bookmarklet-para-hacerte-la-vida-mas-facil-en-wordpress/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 19:00:57 +0000</pubDate>
		<dc:creator>1C11</dc:creator>
				<category><![CDATA[Trucos]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Bookmarklet]]></category>
		<category><![CDATA[Enlaces]]></category>

		<guid isPermaLink="false">http://www.todowp.org/?p=3039</guid>
		<description><![CDATA[Un bookmarklet es un pequeño código de JavaScript que se puede colocar en tus favoritos, o preferiblemente en la barra de marcadores de tu navegador y que se encarga de ejecutar ciertas acciones útiles. Hay muchos y de muy diverso tipo, una simple búsqueda os llevará a más sitios. Pero os quiero hablar de un bookmarklet que he descubierto hace poco (via ThinkWasabi) y que incorpora una serie de utilidades de Wordpress, CSS y PHP que nos puede resultar muy útiles, tanto para desarrollar como para configurar nuestro tema.]]></description>
			<content:encoded><![CDATA[<p>Un <a title="Wikipedia: Bookmarklet" href="http://es.wikipedia.org/wiki/Bookmarklet">bookmarklet</a> es un pequeño código de JavaScript que se puede colocar en tus favoritos o, preferiblemente, en la barra de marcadores de tu navegador. Se encarga de ejecutar ciertas acciones útiles. Hay muchos y de muy diverso tipo, una simple búsqueda os llevará a más sitios. Pero os quiero hablar de un bookmarklet que he descubierto hace poco (vía <a title="Quix un mega bookmarklet" href="http://thinkwasabi.com/2010/01/quix-megamaxi-bookmarklet/">ThinkWasabi</a>) y que incorpora una serie de utilidades de Wordpress, CSS y PHP que nos pueden resultar muy útiles, tanto para desarrollar como para configurar nuestro tema.</p>
<p>El bookmarklet en cuestión se llama <a title="Your Bookmarklets, On Steroids" href="http://quixapp.com/">Quix</a>, y lo podéis instalar arrastrando y soltando <a title="Quix" href="//quixapp.com/go/?c='+e(c)+'&amp;t='+(document.title?e(document.title):'')+'&amp;s='+'&amp;v=080'+'&amp;u='+(document.location?e(document.location):'');d=''+document.location;if(d.substr(0,4)!='http'){window.location=u+'&amp;mode=direct';}else{heads=document.getElementsByTagName('head');if(c.substring(0,1)=='%20'){var%20w=window.open(u+'&amp;mode=direct');w.focus();}else%20if(heads.length==0){window.location=u+'&amp;mode=direct';}else{q=document.getElementById('quix');if(q){q.parentNode.removeChild(q);}sc=document.createElement('script');sc.src=u;sc.id='quix';sc.type='text/javascript';void(heads[0].appendChild(sc));}}}}">este enlace</a> en vuestra barra de marcadores. Una vez allí, al pulsarlo aparecerá una ventana para escribir comandos. Si queréis ver todos los disponibles basta con escribir <strong>help</strong>.<br />
<span id="more-3039"></span><br />
Veamos ahora qué nos ofrece, que no es poco:</p>
<ul>
<li><a href="http://quixapp.com/help/#basic-commands">Basic commands</a>. De aquí destacaría dos <strong>fc &lt;nombre&gt;</strong>, hace una búsqueda en Flickr de imágenes con licencia CC. El otro <strong>php &lt;nombre_funcion_php&gt;</strong>.</li>
<li><a href="http://quixapp.com/help/#wordpress">WordPress</a>. Hay varios comandos aquí específicos para Wordpress. <strong>plugin &lt;nombre&gt;</strong> busca plugins, mientras que <strong>wp &lt;nombre&gt;</strong> busca funciones de Wordpress.</li>
<li><a href="http://quixapp.com/help/#seo">SEO</a>. También incorpora una serie de herramientas para el SEO. El más básico es <strong>seo</strong>, que analiza la página actual. Otra, que no conocía pero que me ha parecido muy práctica, es <strong>kd</strong>, Keyword Density Check, que nos permite analizar las palabras clave de nuestro documento.</li>
<li><a href="http://quixapp.com/help/#webmaster">Webmaster</a>. Aquí hay un montón de comandos útiles. A mi me han llamado la atención <strong>xray</strong> y <strong>spriteme</strong>. El primero analiza cualquier elemento de la página sobre el que se haya hecho clic, mientras que el segundo nos permite combinar todas la imágenes en un único <em>sprite</em>, para optimizar los tiempos de descarga.</li>
<li><a href="http://quixapp.com/help/#url-shortening">URL Shortening</a>. Muy simple <strong>trim</strong>, <strong>awesm</strong> o <strong>bitly</strong> + URL, os recortarán la URL en cuestión.</li>
<li><a href="http://quixapp.com/help/#app-integration">App Integration commands</a>. Soy un fanático de evernote, en este caso escribiendo <strong>evernote</strong>, nos guardará una nota de la página actual.</li>
</ul>
<p>¿Qué os parece? A mí este descubrimiento me ha resultado muy útil, porque sin necesidad de tocar el ratón puedo analizar casi cualquier aspecto de mi blog: SEO, PHP, HTML, optimización&#8230;</p>
<p>Un último truco: yo tengo puesto el código del bookmarklet como página de inicio. De esta forma, pulsando la combinación ALT+INICIO, puedo acceder a la ventanita de Quix sin tocar el ratón. Práctico, ¿no?</p>
<img src="http://feeds.feedburner.com/~r/todowordpress/~4/NYpthJQSWhw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.todowp.org/quix-un-bookmarklet-para-hacerte-la-vida-mas-facil-en-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.todowp.org/quix-un-bookmarklet-para-hacerte-la-vida-mas-facil-en-wordpress/</feedburner:origLink></item>
		<item>
		<title>4 plugins para fidelizar a tus lectores y comentaristas de tu blog</title>
		<link>http://feeds.todowp.org/~r/todowordpress/~3/f21mFHYykpc/</link>
		<comments>http://www.todowp.org/4-plugins-para-fidelizar-a-tus-lectores-y-comentaristas-de-tu-blog/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 19:00:35 +0000</pubDate>
		<dc:creator>1C11</dc:creator>
				<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Trucos]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Comentarios]]></category>
		<category><![CDATA[Posts]]></category>

		<guid isPermaLink="false">http://www.todowp.org/?p=2730</guid>
		<description><![CDATA[Lo más importante en el mundo de los blogs son tus lectores. Todo lo que se haga es poco para que se interesen por tu contenido y para que les guste tu blog, cómo y qué escribes. Por tanto, un aspecto fundamental sobre el que tienes que trabajar son los comentarios. Al principio serán pocos, y puede que no se note mucha participación, y esto dependerá mucho del tipo de post que se escriba. En cualquier caso siempre hay que tratar que tu blog sea comment-friendly, y que fomente la participación o lo haga lo más fácil posible.]]></description>
			<content:encoded><![CDATA[<p>Lo más importante en el mundo de los blogs son tus lectores. Todo lo que se haga es poco para que se interesen por tu contenido y para que les guste tu blog, cómo y qué escribes. Por tanto, <strong>un aspecto fundamental sobre el que tienes que trabajar son los comentarios</strong>. Al principio serán pocos, y puede que no se note mucha participación, y esto dependerá mucho del tipo de post que se escriba. En cualquier caso siempre<strong> hay que tratar que tu blog sea <em>comment-friendly</em>, y que fomente la participación o la haga lo más fácil posible</strong>.</p>
<p>¿Cómo puedes tener tu WP preparado y a punto para cuando lleguen los comentarios? ¿Qué plugins deberías tener instalados para hacer que comentar sea más sencillo y atractivo a tus lectores? ¿Cómo sacar partido a los comentarios para crear lectores fieles?<br />
<span id="more-2730"></span><br />
<strong>MCEComments</strong></p>
<p>Puede que a algunos lectores les dé igual, pero otros querrán personalizar y dar un mejor formato a su mensaje. Sobre todo aquellos que tengan otros blogs y quieran que su mensaje destaque en cierta forma. Se lo puedes poner fácil con el plugin <a href="http://mk.netgenes.org/my-plugins/mcecomments">MCEComments</a>. Dentro de las opciones del plugin puedes añadir más o menos botones de edición o cambiar ligeramente el estilo del cuadro del comentario. Una opción interesante es permitir que los usuarios puedan redimensionar verticalmente el cuadro de texto para tener más sitio (<em>Enable vertical resizing of the comment field writing area</em>) o añadir el botón &#8220;fullscreen&#8221;, que convierte todo el navegador en un editor.</p>
<p><a href="http://img.todowp.org/2010/01/4259848506_6ccab7a9b3_o.png" rel="lightbox[2730]"><img style=' display: block; margin-right: auto; margin-left: auto;'  src="http://img.todowp.org/2010/01/4259848506_6ccab7a9b3_o.png" alt="Ejemplo de escritura de comentario" title="Ejemplo de escritura de comentario" width="414" height="210" class="aligncenter size-full wp-image-3024" /></a></p>
<p><strong>Comment Redirect</strong></p>
<p>Todo buen blogger sabe que un primer comentario es una joya. ¿Por qué no enganchar a ese comentarista primerizo a nuestro blog redirigiéndole a una página con nuestros mejores posts? Eso es exactamente lo que hace <a href="http://yoast.com/wordpress/comment-redirect">Comment Redirect</a>. Para configurarlo tenéis que ir a Plugins/Comment Redirect y elegir la página (no valen posts) a la que queréis redirigir.</p>
<p><strong><strong>Comment Relish</strong></strong></p>
<p>¿Te gustaría poder enviar un email a cada nuevo comentarista? Eso es lo que hace <a href="http://www.justinshattuck.com/2009/04/01/comment-relish-version-20-release/">Comment Relish</a>. Al igual que el plugin anterior, una vez que un visitante ha hecho un primer comentario, le podrás enviar un mensaje de bienvenida, en el que le podrás informar sobre tu blog, hacerle saber cómo suscribirse por email si lo desea, o simplemente darle las gracias. Este plugin es algo más &#8220;agresivo&#8221; que el anterior, pero si te trabajas con cuidado una buena carta de presentación, te puede ayudar mucho a fidelizar lectores.</p>
<p><a href="http://img.todowp.org/2010/01/4259094137_8d9c0d40fe_o.png" rel="lightbox[2730]"><img style=' display: block; margin-right: auto; margin-left: auto;'  src="http://img.todowp.org/2010/01/4259094137_8d9c0d40fe_o-300x182.png" alt="Administración de Comment Relish" title="Administración de Comment Relish" width="300" height="182" class="aligncenter size-medium wp-image-3027" /></a></p>
<p><strong>CommentLuv</strong></p>
<p>Este es un plugin que agradecerán especialmente aquellos comentaristas que sean a su vez bloggers. El plugin, de forma automática, y mientras el usuario está escribiendo el comentario, busca en el feed del autor el último post que se haya escrito, y añade automáticamente el enlace al final del comentario. Esto hace que comentar sea mucho más atractivo en tu blog, y da a conocer los últimos posts de tus compañeros bloggers. El plugin se puede descargar desde el <a href="http://wordpress.org/extend/plugins/commentluv/">repositorio de plugins de WordPress</a>.</p>
<p><a href="http://img.todowp.org/2010/01/4259848648_35d9ae2efe_o.png" rel="lightbox[2730]"><img style=' display: block; margin-right: auto; margin-left: auto;'  src="http://img.todowp.org/2010/01/4259848648_35d9ae2efe_o-300x218.png" alt="Administración de CommentLuv" title="Administración de CommentLuv" width="300" height="218" class="aligncenter size-medium wp-image-3028" /></a></p>
<p><a href="http://img.todowp.org/2010/01/4259848708_b9c47fe2fe_o.png" rel="lightbox[2730]"><img style=' display: block; margin-right: auto; margin-left: auto;'  src="http://img.todowp.org/2010/01/4259848708_b9c47fe2fe_o-300x248.png" alt="Aspecto de los comentarios con ComLuv" title="Aspecto de los comentarios con ComLuv" width="300" height="248" class="aligncenter size-medium wp-image-3029" /></a></p>
<p>¿Qué otros plugins utilizáis vosotros para gestionar los comentarios? ¿Conocíais éstos?</p>
<img src="http://feeds.feedburner.com/~r/todowordpress/~4/f21mFHYykpc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.todowp.org/4-plugins-para-fidelizar-a-tus-lectores-y-comentaristas-de-tu-blog/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://www.todowp.org/4-plugins-para-fidelizar-a-tus-lectores-y-comentaristas-de-tu-blog/</feedburner:origLink></item>
		<item>
		<title>Tengo el blog hackeado: ¿qué hago?</title>
		<link>http://feeds.todowp.org/~r/todowordpress/~3/NncRhd5qtJs/</link>
		<comments>http://www.todowp.org/tengo-el-blog-hackeado-que-hago/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 19:00:25 +0000</pubDate>
		<dc:creator>Jordi Sanchez</dc:creator>
				<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[Código]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Plantilla]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[Webmaster Tools]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.todowp.org/?p=2888</guid>
		<description><![CDATA[Hace un par de semanas hablábamos sobre ¿Cómo saber si nuestro blog está hackeado? y descubrimos diferentes formas, manuales y automáticas, para saber si nuestro blog había sufrido algún tipo de inyección de código malicioso sin nosotros saberlo. Ahora toca ver qué hacer si hemos detectado dicho ataque.
¿Qué hago si ya he detectado que tengo [...]]]></description>
			<content:encoded><![CDATA[<p>Hace un par de semanas hablábamos sobre <a href="http://www.todowp.org/como-saber-si-nuestro-blog-esta-hackeado/"><em>¿Cómo saber si nuestro blog está hackeado?</em></a> y descubrimos diferentes formas, manuales y automáticas, para saber si nuestro blog había sufrido algún tipo de inyección de código malicioso sin nosotros saberlo. Ahora toca ver qué hacer si hemos detectado dicho ataque.</p>
<p><strong>¿Qué hago si ya he detectado que tengo inyección de código?</strong><br />
Lo primero que deberíamos hacer es asegurarnos que el usuario malicioso no ha accedido a nuestro blog usando nuestro usuario de administración. Lo mejor que podemos hacer (tras repasar los <a href="http://www.todowp.org/seguridad-basica-instalacion-de-wordpress/">consejos de seguridad</a>) es cambiar <a href="http://www.todowp.org/seguridad-en-wordpress-consejos-basicos/">nuestras contraseñas</a>.  Seguidamente, actualizaremos (si no lo tenemos) el WordPress a su última versión. </p>
<p>Tras las comprobaciones iniciales, deberemos <strong>eliminar el código</strong> de nuestra página web. Es muy probable que el usuario malintencionado sólo haya modificado los archivos de <strong>nuestra plantilla</strong>, así que lo mejor que podemos hacer es <strong>abrir nuestro theme con el editor</strong> que nos proporciona WordPress y revisar todos los archivos por si vemos algún texto raro. Habitualmente, se repetirá el mismo texto en casi todos los archivos y casi siempre estará ubicado en la parte final de nuestro archivo. Sólo tenemos que borrar dicho código (<em>¡sin borrar nada más!</em>) y ya tendremos nuestra página arreglada. </p>
<p><span id="more-2888"></span></p>
<p>Es importante que, a parte de quitar el código malicioso, tengas en cuenta todos los consejos de seguridad que hemos ido explicando, ya que nos interesa especialmente que no nos vuelva a pasar en un futuro.</p>
<p><strong>Google Webmaster Tools</strong></p>
<p><a href="http://img.todowp.org/2010/01/googlewebmastertools.jpg" rel="lightbox[2888]"><img style=' display: block; margin-right: auto; margin-left: auto;'  src="http://img.todowp.org/2010/01/googlewebmastertools-300x103.jpg" alt="Google Webmaster Tools" width="300" height="103" class="aligncenter size-medium wp-image-3013" /></a></p>
<p>Una vez eliminado el código malicioso de nuestro WordPress, debemos conseguir que Google nos indexe de nuevo, que elimine las palabras clave que no correspondan y los enlaces inadecuados. De esta forma, cuando ya tengamos nuestro blog limpio, deberíamos entrar a las <a href="https://www.google.com/webmasters/tools/">herramientas para webmasters de Google</a> y solicitar una reinclusión de nuestro sitio. Una vez en la página, debemos hacer clic debajo de <strong>Ayuda con</strong> (<em>Help with</em>) dónde pone <strong>Reconsideración del sitio</strong> (<em>Site reconsideration</em>). Se nos abrirá una página explicativa, y tenemos que escoger la opción <strong>Pedir reconsideración de mi sitio</strong> (<em>Request reconsideration of your site</em>). En la última página que se nos abrirá tendremos que seleccionar el <strong>sitio web</strong> que nos han hackeado, aceptar las condiciones y explicarles cuál ha sido el problema que hemos tenido para que Google no nos indexara correctamente.</p>
<p>Espero que, si alguna vez tenéis algún problema con vuestro WordPress, este tutorial os sirva. Comentad si tenéis algún problema.</p>
<img src="http://feeds.feedburner.com/~r/todowordpress/~4/NncRhd5qtJs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.todowp.org/tengo-el-blog-hackeado-que-hago/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.todowp.org/tengo-el-blog-hackeado-que-hago/</feedburner:origLink></item>
		<item>
		<title>Home: ciertos títulos de post, enlazando directamente a otros sites</title>
		<link>http://feeds.todowp.org/~r/todowordpress/~3/HcwTEl9T-C0/</link>
		<comments>http://www.todowp.org/home-ciertos-titulos-de-post-enlazando-directamente-a-otros-sites/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 19:00:55 +0000</pubDate>
		<dc:creator>Ignacio</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Trucos]]></category>
		<category><![CDATA[Home]]></category>
		<category><![CDATA[Index]]></category>

		<guid isPermaLink="false">http://www.todowp.org/?p=2977</guid>
		<description><![CDATA[A veces nos puede gustar la idea de que ciertos artículos, por ejemplo aquellos con un determinado campo personalizado que les hayamos añadido, enlacen directamente a un site externo al nuestro (en vez de ir a la pantalla de texto completo).
Para ello, tendremos que abrir functions.php y pegar allí el siguiente código:

function print_post_title() {
	global $post;
	$thePostID [...]]]></description>
			<content:encoded><![CDATA[<p>A veces nos puede gustar la idea de que ciertos artículos, por ejemplo aquellos con un determinado campo personalizado que les hayamos añadido, enlacen directamente a un site externo al nuestro (en vez de ir a la pantalla de texto completo).</p>
<p>Para ello, tendremos que abrir functions.php y pegar allí el siguiente código:</p>
<pre>
function print_post_title() {
	global $post;
	$thePostID = $post-&gt;ID;
	$post_id = get_post($thePostID);
	$title = $post_id-&gt;post_title;
	$perm = get_permalink($post_id);
	$post_keys = array(); $post_val = array();
	$post_keys = get_post_custom_keys($thePostID);

	if (!empty($post_keys)) {
		foreach ($post_keys as $pkey) {
			if ($pkey=='url1' || $pkey=='title_url' || $pkey=='url_title') {
			$post_val = get_post_custom_values($pkey);
			}
		}
		if (empty($post_val)) {
			$link = $perm;
		} else {
			$link = $post_val[0];
		}

	} else {
		$link = $perm;
	}
	echo '&lt;h2&gt;&lt;a href=&quot;'.$link.'&quot; rel=&quot;bookmark&quot; title=&quot;'.$title.'&quot;&gt;'.$title.'&lt;/a&gt;&lt;/h2&gt;';
}
</pre>
<p><span id="more-2977"></span></p>
<p>Salvaremos y cerraremos. Iremos ahora al index.php de nuestro tema, lo abriremos y sustituiremos allí donde se encuentre el título&#8230;</p>
<pre>
&lt;h2&gt;&lt;a href=&quot;&lt;?php the_permalink() ?&gt;&quot; rel=&quot;bookmark&quot; title=&quot;Permanent Link to &lt;?php the_title(); ?&gt;&quot;&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;&lt;/h2&gt;
</pre>
<p>&#8230;por nuestro nuevo tag, recién creado en functions.php :</p>
<pre>
&lt;?php print_post_title() ?&gt;
</pre>
<p>Salvamos y cerramos.</p>
<p>A partir de aquí, cada vez que queramos que el post (que seguramente no consistirá más que en un título) enlace directamente a un sitio externo, iremos a los campos personalizados y entraremos en &#8220;<strong>nombre</strong>&#8221; lo siguiente:</p>
<pre>
ulr1
</pre>
<p>Y en &#8220;<strong>valor</strong>&#8220;, la dirección final a la que queremos que el título del artículo enlace.</p>
<p>Siempre que no escribamos este campo personalizado, el título actuará como siempre, normalmente llevándonos a la versión entera del artículo.</p>
<p>Esperamos que este truco sea de vuestro interés.</p>
<img src="http://feeds.feedburner.com/~r/todowordpress/~4/HcwTEl9T-C0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.todowp.org/home-ciertos-titulos-de-post-enlazando-directamente-a-otros-sites/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.todowp.org/home-ciertos-titulos-de-post-enlazando-directamente-a-otros-sites/</feedburner:origLink></item>
		<item>
		<title>WP: página inicial estática</title>
		<link>http://feeds.todowp.org/~r/todowordpress/~3/Ci9CwhaNx0Y/</link>
		<comments>http://www.todowp.org/wp-pagina-inicial-estatica/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 19:00:02 +0000</pubDate>
		<dc:creator>Jordi Sanchez</dc:creator>
				<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[Empresa]]></category>
		<category><![CDATA[Páginas]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.todowp.org/?p=2892</guid>
		<description><![CDATA[Hay muchas formas de utilizar WordPress para tu empresa, así que hoy empiezo una serie de posts centrados en la parte más profesional de este sistema de gestión de contenido. Debo decir, no obstante, que son consejos que pueden ayudar a todo el mundo, ya que explicaré diferentes funciones de WordPress o plugins interesantes.
Hay muchas [...]]]></description>
			<content:encoded><![CDATA[<p>Hay muchas formas de utilizar <strong>WordPress para tu empresa</strong>, así que hoy empiezo una serie de posts centrados en la parte más profesional de este sistema de gestión de contenido. Debo decir, no obstante, que son consejos que pueden ayudar a todo el mundo, ya que explicaré diferentes <strong>funciones de WordPress</strong> o <strong>plugins interesantes</strong>.</p>
<p>Hay muchas <strong>empresas</strong> que quieren tener una <strong>página web sencilla y fácil de gestionar</strong>, pero quieren que su web no sea &#8220;<em>sólo un blog</em>&#8220;. Aún así, <strong>WordPress</strong> puede ayudarnos, ya que podemos aprovechar toda su potente arquitectura para hacer una página más o menos estática de contenido. Lo esencial en estos casos es escoger una <strong>plantilla </strong>(<em>theme</em>) que nos guste suficientemente; para encontrarla, sólo tienes que buscar por Internet, hay miles y miles de ellas.</p>
<p><span id="more-2892"></span></p>
<p><a href="http://img.todowp.org/2010/01/wordpresspaginas.jpg" rel="lightbox[2892]"><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;'  src="http://img.todowp.org/2010/01/wordpresspaginas.jpg" alt="Menú: Páginas - Añadir" width="155" height="105" class="alignleft size-full wp-image-3011" /></a></p>
<p>Una vez escogida la plantilla, en general, las <strong>empresas</strong> quieren que sus webs tengan páginas iniciales más o menos <strong>estáticas</strong>. Por defecto, WordPress y la mayoría de plantillas nos ponen un listado de <strong>últimos posts</strong> en la página inicial, así que debemos cambiarlo. Antes que nada, crearemos una <strong>página de inicio </strong>con el texto, imágenes o elementos que queramos. Para hacerlo, vamos al <strong>panel de administración</strong> de nuestro WordPress, a la pestaña de páginas y le damos a <em>Añadir</em>. Allí podremos crear fácilmente dicha página, si es necesario y sabemos, con algún tipo de código HTML. Si queremos utilizar nuestra <strong>página web </strong>WordPress también como <strong>blog</strong>, debemos crear también otra página que se llame &#8220;<em>Posts recientes</em>&#8221; o &#8220;<em>Blog</em>&#8220;, o algo parecido. En dicha página no es necesario poner ningún contenido, <strong>WordPress</strong> se encargará de hacerlo por nosotros.</p>
<p><a href="http://img.todowp.org/2010/01/wordpresslectura.jpg" rel="lightbox[2892]"><img style=' display: block; margin-right: auto; margin-left: auto;'  src="http://img.todowp.org/2010/01/wordpresslectura-300x122.jpg" alt="Opciones de Lectura" width="300" height="122" class="aligncenter size-medium wp-image-3010" /></a></p>
<p>Tras tener ya nuestra &#8220;<em>página de inicio</em>&#8221; preparada y, si queremos, nuestros &#8220;<em>posts recientes</em>&#8220;, sólo debemos indicarle a nuestro <strong>WordPress</strong> que tome dichas páginas como predeterminadas. Para hacerlo, es muy fácil: vamos al menú <strong><em>Opciones</em> / <em>Lectura</em></strong> y configuramos la opción &#8220;<em>La página inicial mostrará</em>&#8221; como &#8220;<em>Una página estática (seleccionar abajo)</em>&#8220;. Luego especificamos en &#8220;<em>Página inicial</em>&#8221; y &#8220;<em>Página de entradas</em>&#8221; las que hemos creado anteriormente.</p>
<p>Eso es todo: ya tenemos una <strong>página web</strong> un poco más <strong>estática</strong>, tanto como querramos, depende de si utilizarás las funciones de &#8220;<em>blog</em>&#8221; o sólo las de páginas. Si tenéis algún problema, no dudad en comentarlo.</p>
<img src="http://feeds.feedburner.com/~r/todowordpress/~4/Ci9CwhaNx0Y" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.todowp.org/wp-pagina-inicial-estatica/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.todowp.org/wp-pagina-inicial-estatica/</feedburner:origLink></item>
		<item>
		<title>Todas nuestras etiquetas en una lista desplegable</title>
		<link>http://feeds.todowp.org/~r/todowordpress/~3/w555UN8I8tE/</link>
		<comments>http://www.todowp.org/todas-nuestras-etiquetas-en-una-lista-desplegable/#comments</comments>
		<pubDate>Sun, 31 Jan 2010 19:00:14 +0000</pubDate>
		<dc:creator>Ignacio</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Trucos]]></category>
		<category><![CDATA[Etiquetas]]></category>
		<category><![CDATA[Tags]]></category>

		<guid isPermaLink="false">http://www.todowp.org/?p=2980</guid>
		<description><![CDATA[Si no tenemos un número excesivo de etiquetas y las quisiéramos desplegar en una lista, aquí tenemos el código para realizarlo.
Primero, iremos a functions.php o lo crearemos como simple archivo de texto y pegaremos en su interior el siguiente código:

&#60;?php
function dropdown_tag_cloud( $args = '' ) {
$defaults = array(
'smallest' =&#62; 8, 'largest' =&#62; 22, 'unit' =&#62; [...]]]></description>
			<content:encoded><![CDATA[<p>Si no tenemos un número excesivo de etiquetas y las quisiéramos desplegar en una lista, aquí tenemos el código para realizarlo.</p>
<p>Primero, iremos a functions.php o lo crearemos como simple archivo de texto y pegaremos en su interior el siguiente código:</p>
<pre>
&lt;?php
function dropdown_tag_cloud( $args = '' ) {
$defaults = array(
'smallest' =&gt; 8, 'largest' =&gt; 22, 'unit' =&gt; 'pt', 'number' =&gt; 45,
'format' =&gt; 'flat', 'orderby' =&gt; 'name', 'order' =&gt; 'ASC',
'exclude' =&gt; '', 'include' =&gt; ''
);
$args = wp_parse_args( $args, $defaults );

$tags = get_tags( array_merge($args, array('orderby' =&gt; 'count', 'order' =&gt; 'DESC')) ); // Always query top tags

if ( empty($tags) )
return;

$return = dropdown_generate_tag_cloud( $tags, $args ); // Here's where those top tags get sorted according to $args
if ( is_wp_error( $return ) )
return false;
else
echo apply_filters( 'dropdown_tag_cloud', $return, $args );
}

function dropdown_generate_tag_cloud( $tags, $args = '' ) {
global $wp_rewrite;
$defaults = array(
'smallest' =&gt; 8, 'largest' =&gt; 22, 'unit' =&gt; 'pt', 'number' =&gt; 45,
'format' =&gt; 'flat', 'orderby' =&gt; 'name', 'order' =&gt; 'ASC'
);
$args = wp_parse_args( $args, $defaults );
extract($args);

if ( !$tags )
return;
$counts = $tag_links = array();
foreach ( (array) $tags as $tag ) {
$counts[$tag-&gt;name] = $tag-&gt;count;
$tag_links[$tag-&gt;name] = get_tag_link( $tag-&gt;term_id );
if ( is_wp_error( $tag_links[$tag-&gt;name] ) )
return $tag_links[$tag-&gt;name];
$tag_ids[$tag-&gt;name] = $tag-&gt;term_id;
}

$min_count = min($counts);
$spread = max($counts) - $min_count;
if ( $spread &lt;= 0 )
$spread = 1;
$font_spread = $largest - $smallest;
if ( $font_spread &lt;= 0 )
$font_spread = 1;
$font_step = $font_spread / $spread;

// SQL cannot save you; this is a second (potentially different) sort on a subset of data.
if ( 'name' == $orderby )
uksort($counts, 'strnatcasecmp');
else
asort($counts);

if ( 'DESC' == $order )
$counts = array_reverse( $counts, true );

$a = array();

$rel = ( is_object($wp_rewrite) &amp;&amp; $wp_rewrite-&gt;using_permalinks() ) ? ' rel=&quot;tag&quot;' : '';

foreach ( $counts as $tag =&gt; $count ) {
$tag_id = $tag_ids[$tag];
$tag_link = clean_url($tag_links[$tag]);
$tag = str_replace(' ', '&amp;nbsp;', wp_specialchars( $tag ));
$a[] = &quot;\t&lt;option value='$tag_link'&gt;$tag ($count)&lt;/option&gt;&quot;;
}

switch ( $format ) :
case 'array' :
$return =&amp; $a;
break;
case 'list' :
$return = &quot;&lt;ul class='wp-tag-cloud'&gt;\n\t&lt;li&gt;&quot;;
$return .= join(&quot;&lt;/li&gt;\n\t&lt;li&gt;&quot;, $a);
$return .= &quot;&lt;/li&gt;\n&lt;/ul&gt;\n&quot;;
break;
default :
$return = join(&quot;\n&quot;, $a);
break;
endswitch;

return apply_filters( 'dropdown_generate_tag_cloud', $return, $tags, $args );
}
?&gt;
</pre>
<p>Acto seguido, iremos al template en el que nos interese insertar la lista desplegable y, orientándonos entre el HTML, pegaremos el siguiente código:</p>
<pre>
&lt;select name=&quot;tag-dropdown&quot; onchange=&quot;document.location.href=this.options[this.selectedIndex].value;&quot;&gt;
&lt;option value=&quot;#&quot;&gt;Tags&lt;/option&gt;
&lt;?php dropdown_tag_cloud('number=0&amp;order=asc'); ?&gt;
&lt;/select&gt;
</pre>
<p>Nuestros tags seran ahora mostradis en un desplegable.</p>
<img src="http://feeds.feedburner.com/~r/todowordpress/~4/w555UN8I8tE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.todowp.org/todas-nuestras-etiquetas-en-una-lista-desplegable/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.todowp.org/todas-nuestras-etiquetas-en-una-lista-desplegable/</feedburner:origLink></item>
		<item>
		<title>WordPress 2.9 y la función Post Image</title>
		<link>http://feeds.todowp.org/~r/todowordpress/~3/RBOF6JVLoK0/</link>
		<comments>http://www.todowp.org/wordpress-2-9-y-la-funcion-post-image/#comments</comments>
		<pubDate>Sat, 30 Jan 2010 19:00:47 +0000</pubDate>
		<dc:creator>Ignacio</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Temas]]></category>
		<category><![CDATA[Trucos]]></category>
		<category><![CDATA[Miniaturas]]></category>
		<category><![CDATA[Post Image]]></category>
		<category><![CDATA[Thumbnails]]></category>

		<guid isPermaLink="false">http://www.todowp.org/?p=2925</guid>
		<description><![CDATA[Al fin, con WordPress 2.9 se nos ha hecho mucho más fácil indicar, mientras escribimos, cuál será la miniatura (o thumbnail) que representará al artículo en cuestión.
Para ello, colaremos este código en functions.php (al final de todo):

&#60;?php
add_theme_support( 'post-thumbnails' );
?&#62;

Ahora podremos, desde la Administración, subir y asignar una imagen cuya función exclusiva será la de &#8216;representar&#8217; [...]]]></description>
			<content:encoded><![CDATA[<p>Al fin, con WordPress 2.9 se nos ha hecho mucho más fácil indicar, mientras escribimos, cuál será la miniatura (o <em>thumbnail</em>) que representará al artículo en cuestión.</p>
<p>Para ello, colaremos este código en functions.php (al final de todo):</p>
<pre>
&lt;?php
add_theme_support( 'post-thumbnails' );
?&gt;
</pre>
<p>Ahora podremos, desde la Administración, subir y asignar una imagen cuya función exclusiva será la de &#8216;representar&#8217; al post, e &#8220;imprimirse&#8221; por tanto en nuestros templates, al lado del texto del artículo (pero independientemente de éste).</p>
<p><span id="more-2925"></span></p>
<p>Iremos ahora a escoger en qué lugar concreto queremos que aparezca con respecto al contenido normal de nuestro artículo. Abriremos index.php, archive.php o incluso single.php, y allí donde creamos conveniente (normalmente al lado del extracto), pondremos lo siguiente :</p>
<pre>
&lt;?php the_post_thumbnail( 'medium' ); ?&gt;
</pre>
<p>Podremos utilizar la siguiente &#8220;jerga&#8221; para decidir qué tamaño queremos:</p>
<p>- thumbnail<br />
- medium<br />
- large</p>
<p>Habrá que orientarse entre los tags de HTML del template para poner la imagen allí donde creamos correcto.</p>
<p>Para saber más detalles acerca de esta novedad, podemos dirigirnos a la web de <a href="http://justintadlock.com/archives/2009/11/16/everything-you-need-to-know-about-wordpress-2-9s-post-image-feature">Justin Tadlock</a>.</p>
<img src="http://feeds.feedburner.com/~r/todowordpress/~4/RBOF6JVLoK0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.todowp.org/wordpress-2-9-y-la-funcion-post-image/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.todowp.org/wordpress-2-9-y-la-funcion-post-image/</feedburner:origLink></item>
		<item>
		<title>Excluir cierta categoría al listar las categorías a las que pertenece un post</title>
		<link>http://feeds.todowp.org/~r/todowordpress/~3/Cake5tlwptg/</link>
		<comments>http://www.todowp.org/excluir-cierta-categoria-al-listar-las-categorias-a-las-que-pertenece-un-post/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 19:00:34 +0000</pubDate>
		<dc:creator>Ignacio</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Trucos]]></category>
		<category><![CDATA[Categorías]]></category>

		<guid isPermaLink="false">http://www.todowp.org/?p=2929</guid>
		<description><![CDATA[Vamos a mostrar hoy un simple bloque de código muy útil para cuando usemos ciertas categorías con fines exclusivamente administrativos y no quisiéramos que se muestren al público siempre que listamos las categorías a las que un artículo pertenece.
El código es el siguiente, y lo tenemos que insertar dentro del Loop, en single.php, index.php y [...]]]></description>
			<content:encoded><![CDATA[<p>Vamos a mostrar hoy un simple bloque de código muy útil para cuando usemos ciertas categorías con fines exclusivamente administrativos y no quisiéramos que se muestren al público siempre que listamos las categorías a las que un artículo pertenece.</p>
<p>El código es el siguiente, y lo tenemos que insertar dentro del Loop, en single.php, index.php y archive.php principalmente:</p>
<pre>
Clasificado en : &lt;?php
foreach((get_the_category()) as $category) {
if ($category-&gt;cat_ID != '5') {
echo '&lt;a href=&quot;' . get_category_link( $category-&gt;term_id ) . '&quot; title=&quot;' . sprintf( __( &quot;View all posts in %s&quot; ), $category-&gt;name ) . '&quot; ' . '&gt;' . $category-&gt;name.'&lt;/a&gt; ';
}
}
?&gt;
</pre>
<p>En vez de usar el típico the_category, lo sustituiremos con este código.</p>
<p><span id="more-2929"></span></p>
<p>Si os fijáis en la tercera línea, es allí donde debemos especificar el número de la categoría a esconder.</p>
<p>Ese número podremos saberlo pasando el cursor por encima de las distintas categorías en su espacio específico en nuestra Administración y fijándonos en la URL que tienen asignada: el número al final de ésta es el que nos interesa.</p>
<p>Esperamos que este truco sea de vuestra utilidad.</p>
<img src="http://feeds.feedburner.com/~r/todowordpress/~4/Cake5tlwptg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.todowp.org/excluir-cierta-categoria-al-listar-las-categorias-a-las-que-pertenece-un-post/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.todowp.org/excluir-cierta-categoria-al-listar-las-categorias-a-las-que-pertenece-un-post/</feedburner:origLink></item>
		<item>
		<title>Creación de menús usando las páginas estáticas</title>
		<link>http://feeds.todowp.org/~r/todowordpress/~3/jRPoL8BIOBw/</link>
		<comments>http://www.todowp.org/creacion-de-menus-usando-las-paginas-estaticas/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 19:00:53 +0000</pubDate>
		<dc:creator>Ignacio</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Trucos]]></category>
		<category><![CDATA[Menú]]></category>
		<category><![CDATA[Páginas]]></category>

		<guid isPermaLink="false">http://www.todowp.org/?p=2960</guid>
		<description><![CDATA[En WordPress disponemos de un &#8220;template tag&#8221; muy útil cuando estamos creando un tema y necesitamos listar nuestras páginas estáticas como parte o totalidad del menú del encabezado de nuestro site.
En vez de crear la lista manualmente (y tener que editarla más tarde en los templates ante cualquier cambio), podremos desde un principio usar wp_page_menu [...]]]></description>
			<content:encoded><![CDATA[<p>En WordPress disponemos de un &#8220;template tag&#8221; muy útil cuando estamos creando un tema y necesitamos listar nuestras páginas estáticas como parte o totalidad del menú del encabezado de nuestro site.</p>
<p>En vez de crear la lista manualmente (y tener que editarla más tarde en los templates ante cualquier cambio), podremos desde un principio usar <a href="http://codex.wordpress.org/Template_Tags/wp_page_menu">wp_page_menu</a> como método para imprimir nuestra lista de páginas:</p>
<pre>
&lt;?php wp_page_menu('exclude=24,27,28&amp;menu_class=menu menu-de-contacto'); ?&gt;
&lt;?php wp_page_menu('include=24,27,28&amp;menu_class=menu menu-principal'); ?&gt;
</pre>
<p>Aquí se nos crearían por lo pronto dos menús con sus links preparados: el primero incluye todas nuestras páginas salvo tres, y el segundo sólo esas tres páginas. Podríamos usarlos de distinta manera, por ejemplo, uno que ocupara el 100% de la anchura de la página, y otro, más arriba, al lado de nuestro logo.</p>
<p><span id="more-2960"></span></p>
<p>HTML de ejemplo:</p>
<pre>
&lt;div id=&quot;encabezado&quot;&gt;

	&lt;div id=&quot;logo&quot;&gt;
		&lt;img src=&quot;&lt;?php bloginfo('template_directory'); ?&gt;/imagenes/logo.png&quot;&gt;
	&lt;/div&gt;

	&lt;div id=&quot;menu-de-contacto&quot;&gt;
		&lt;?php wp_page_menu('include=24,27,28&amp;menu_class=menu menu-de-contacto'); ?&gt;
	&lt;/div&gt;

	&lt;div id=&quot;menu-principal&quot;&gt;
		&lt;?php wp_page_menu('exclude=24,27,28&amp;menu_class=menu menu-principal'); ?&gt;
	&lt;/div&gt;

&lt;/div&gt;
</pre>
<p>Recordemos que la ID numérica de cada página la sabremos poniendo el cursor sobre el nombre de la página en cuestión en el panel de administración, y viendo cuál es el número que llevan en su URL.</p>
<p>Ambos <em>template tags</em> nos devolverán una lista (ul, <em>unordered list</em>), que deberemos luego trabajar con CSS para posicionarla y crear los gráficos necesarios.</p>
<p>Un ejemplo de CSS para nuestro caso:</p>
<pre>
#encabezado{
	width:960px;
	margin: 0 auto;
	background:#fff
	}

#logo,#menu-de-contacto{
	width:50%;
	height:120px;
	margin-top:18px;
	float:left
	}

#menu-de-contacto li{
	list-style-type:none;
	display:inline;
	margin-right:18px;
	}

#menu-de-contacto li a{
	padding:5px;
	background:#EEE;
	color:#999
	}

#menu-principal{
	width:100%;
	height:3em;
	line-height:3em;
	margin-top:18px;
	color:#555
	}

#menu-principal li{
	list-style-type:none;
	display:inline-block;
	background:#111;
	padding: 0 9px;
	border-right: 1px solid #555
	}
</pre>
<img src="http://feeds.feedburner.com/~r/todowordpress/~4/jRPoL8BIOBw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.todowp.org/creacion-de-menus-usando-las-paginas-estaticas/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.todowp.org/creacion-de-menus-usando-las-paginas-estaticas/</feedburner:origLink></item>
		<item>
		<title>Dar estilo a la información sobre el autor de una entrada al final de ésta</title>
		<link>http://feeds.todowp.org/~r/todowordpress/~3/BJHVtKHiIGk/</link>
		<comments>http://www.todowp.org/dar-estilo-a-la-informacion-sobre-el-autor-de-una-entrada-al-final-de-esta/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 19:00:33 +0000</pubDate>
		<dc:creator>Ignacio</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Trucos]]></category>
		<category><![CDATA[Autor]]></category>

		<guid isPermaLink="false">http://www.todowp.org/?p=2965</guid>
		<description><![CDATA[Habitualmente encontramos sites donde al final del post se muestra una caja con información sobre el autor: su imagen (Gravatar), su nombre, una pequeña reseña biográfica&#8230; así como, por ejemplo, la cantidad de artículos que ese autor haya publicado en el site.
Hoy veremos la forma de mostrar todo ello, y proporcionaremos algunos estilos en CSS [...]]]></description>
			<content:encoded><![CDATA[<p>Habitualmente encontramos sites donde al final del post se muestra una caja con información sobre el autor: su imagen (<a href="http://www.gravatar.com/">Gravatar</a>), su nombre, una pequeña reseña biográfica&#8230; así como, por ejemplo, la cantidad de artículos que ese autor haya publicado en el site.</p>
<p>Hoy veremos la forma de mostrar todo ello, y proporcionaremos algunos estilos en CSS que nos ayuden a crear los nuestros propios.</p>
<p>Marcelo escribió hace un tiempo sobre el <a href="http://www.todowp.org/agregar-informacion-del-autor-en-cada-post/">tag fundamental</a> que nos traerá las informaciones de la base de datos, es decir, de la pantalla de información sobre el autor que podemos editar en la Administración de WordPress una vez estamos registrados en el site, y donde podemos rellenar los campos de &#8220;Biografía&#8221;, &#8220;URL&#8221;, &#8220;Gravatar&#8221;, e-mail, etc.</p>
<p><span id="more-2965"></span></p>
<p>Hoy trataremos pues la parte del CSS para tener el conjunto en una estructura que será fácilmente modificable. Empecemos:</p>
<pre>
&lt;div id=&quot;info-autor&quot;&gt;
	&lt;div id=&quot;imagen-autor&quot;&gt;
		&lt;a href=&quot;**Web del Autor**&quot;&gt;**Gravatar del Autor**&lt;/a&gt;
	&lt;/div&gt;
	&lt;div id=&quot;bio-del-autor&quot;&gt;
		&lt;h4&gt;Escrito por &lt;a href=&quot;**Web del Autor**&quot;&gt;**Nombre del Autor**&lt;/a&gt;&lt;/h4&gt;
		&lt;p&gt;**Descripción del Autor**&lt;/p&gt;
	&lt;/div&gt;
&lt;/div&gt;&lt;!--Infos Autor--&gt;
</pre>
<p>En el código vemos los distintos elementos que deberemos transformar en PHP para que sean efectivos.</p>
<p>Añadamos pues el PHP necesario:</p>
<pre>
&lt;div id=&quot;info-autor&quot;&gt;
	&lt;div id=&quot;imagen-autor&quot;&gt;
		&lt;a href=&quot;&lt;?php the_author_meta('user_url'); ?&gt;&quot;&gt;&lt;?php echo get_avatar( get_the_author_meta('user_email'), '80', '' ); ?&gt;&lt;/a&gt;
	&lt;/div&gt;
	&lt;div id=&quot;bio-autor&quot;&gt;
		&lt;h4&gt;Escrito por &lt;?php the_author_link(); ?&gt;&lt;/h4&gt;
		&lt;p&gt;&lt;?php the_author_meta('description'); ?&gt;&lt;/p&gt;
	&lt;/div&gt;
&lt;/div&gt;&lt;!--Info Autor--&gt;
</pre>
<p>Y preparemos ahora el CSS que dará formato al resultado final :</p>
<pre>
div#author-info {
	background: #eaeaec; padding: 10px; margin: 0 0 15px 0;
	-moz-border-radius: 8px;
	-webkit-border-radius: 8px;
	border-radius: 8px;
	overflow: auto;
}
div#author-info div#author-image {
	float: left; margin: 0 10px 5px 0; border: 5px solid #DCDCE1;
}
</pre>
<p>Tan sencillo como esto.</p>
<p>Repasemos todos los tags de PHP que hemos utilizado:</p>
<pre>
&lt;?php the_author_meta('user_url'); ?&gt;
</pre>
<p>Sirve para extraer varias porciones de información acerca del usuario (autor).</p>
<pre>
&lt;?php echo get_avatar( get_the_author_meta('user_email'), '80', '' ); ?&gt;
</pre>
<p>Sirve para extraer la imagen del autor, en función del <a href="http://www.gravatar.com/">Gravatar</a> asociado a su cuenta de correo electrónico (que debe coincidir con la registrada en WordPress).</p>
<pre>
&lt;?php the_author_link(); ?&gt;
</pre>
<p>Imprime el nombre del autor, automáticamente enlazado a su web (la que haya indicado en su perfil).</p>
<pre>
&lt;?php the_author_meta('description'); ?&gt;
</pre>
<p>Muestra la principal información biográfica.</p>
<p>Esperemos que uséis todos estos trucos y creéis unos estupendos sites multi-autor con WordPress.</p>
<img src="http://feeds.feedburner.com/~r/todowordpress/~4/BJHVtKHiIGk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.todowp.org/dar-estilo-a-la-informacion-sobre-el-autor-de-una-entrada-al-final-de-esta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.todowp.org/dar-estilo-a-la-informacion-sobre-el-autor-de-una-entrada-al-final-de-esta/</feedburner:origLink></item>
		<item>
		<title>Agregar un botón de ReTweet a nuestros artículos</title>
		<link>http://feeds.todowp.org/~r/todowordpress/~3/KvCoC-SL6VM/</link>
		<comments>http://www.todowp.org/agregar-un-boton-de-retweet-a-nuestros-articulos/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 19:00:28 +0000</pubDate>
		<dc:creator>Ignacio</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Trucos]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.todowp.org/?p=2934</guid>
		<description><![CDATA[Para los twitteradictos que a la vez tengan un blog, John Resig (creador de jQuery) ha escrito un magnífico script que nos permitirá añadir un botón de Re-twittea este artículo que incorporará a su vez un contador de clicks.
Demo
Para conseguirlo, tendremos que abrir el single.php o el index.php de nuestro tema y, dentro del loop, [...]]]></description>
			<content:encoded><![CDATA[<p>Para los <a href="http://twitter.com/">twitteradictos</a> que a la vez tengan un blog, <a href="http://ejohn.org/blog/retweet/">John Resig</a> (creador de jQuery) ha escrito un magnífico <a href="http://ejohn.org/files/retweet.js">script</a> que nos permitirá añadir un botón de <strong>Re-twittea este artículo</strong> que incorporará a su vez un <em>contador de clicks</em>.</p>
<p><a href="http://ejohn.org/blog/retweet/">Demo</a></p>
<p>Para conseguirlo, tendremos que abrir el single.php o el index.php de nuestro tema y, dentro del loop, añadir lo siguiente:</p>
<pre>
&lt;a class=&quot;retweet&quot; href=&quot;&lt;?php the_permalink(); ?&gt;&quot;&gt;
     &lt;?php the_title(); ?&gt;
&lt;/a&gt;
</pre>
<p><span id="more-2934"></span></p>
<p>Es decir, un segundo the_title (debajo del primero por ejemplo, o al final del todo del artículo, tras the_content) que esté dentro de un link con class=&#8221;retweet&#8221;.</p>
<p>Salvaremos y cerraremos, y nos dirigiremos a header.php.</p>
<p>Allí tendremos que insertar el script en cuestión, que buscará cada link con clase &#8220;retweet&#8221; y le asignará el botón de retweet, el contador y la función de conexión a Twitter.</p>
<p>Para incluir un script en header.php (dentro de los tags &#8220;head&#8221;) haremos lo siguiente :</p>
<pre>
&lt;script src=&quot;&lt;?php bloginfo('template_directory'); ?&gt;/js/retweet/retweet.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
</pre>
<p>Suponiendo que dentro de nuestro tema tengamos un directorio llamado <strong>js</strong> y, dentro de él, el script de John Resig, al que nombraremos igualmente <strong>retweet.js</strong>.</p>
<p><a href="http://ejohn.org/files/retweet.js"><strong>Bajar el script (copiar/pegar, salvar y alojar en un directorio especial de nuestro tema)</strong></a>.</p>
<p>Esperamos que os sea de utilidad, y aprovechamos desde aquí para saludar a John por <a href="http://jquery.com/">jQuery</a> y este magnífico script.</p>
<img src="http://feeds.feedburner.com/~r/todowordpress/~4/KvCoC-SL6VM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.todowp.org/agregar-un-boton-de-retweet-a-nuestros-articulos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.todowp.org/agregar-un-boton-de-retweet-a-nuestros-articulos/</feedburner:origLink></item>
		<item>
		<title>Qué es una CDN y cómo puedes configurar WordPress para usarla</title>
		<link>http://feeds.todowp.org/~r/todowordpress/~3/NXLY-ZFcBX4/</link>
		<comments>http://www.todowp.org/que-es-una-cdn-y-como-puedes-configurar-wordpress-para-usarla/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 19:00:04 +0000</pubDate>
		<dc:creator>1C11</dc:creator>
				<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Trucos]]></category>
		<category><![CDATA[CDN]]></category>
		<category><![CDATA[Hosting]]></category>
		<category><![CDATA[Servidor]]></category>

		<guid isPermaLink="false">http://www.todowp.org/?p=2633</guid>
		<description><![CDATA[CDN es el acrónimo de Content Delivery Network. Dicho así tampoco aclara mucho, ¿no? Una CDN es una red de servidores que replican el contenido de una varias webs, para hacer que esté siempre disponible y que además sea accesible de una forma más rápida. Pongamos un ejemplo. Si tienes un blog alojado en un hosting, todo el contenido del mismo lo servirá ese hosting, usando su propio ancho de banda. Si aún no tienes muchas visitas, puede que no tengas mayor problema, pero si tu blog empieza a crecer, al ancho de banda se puede ir colapsando. Aún peor, imagina que un día das con tu super-post, que atrae a miles de visitas y se te cae el hosting, o tardan tanto tiempo en acceder a tu página que acaban no leyendo el artículo. Un CDN, entre otras técnicas, evita esto.]]></description>
			<content:encoded><![CDATA[<p>CDN es el acrónimo de <a title="Wikipedia: CDN" href="http://en.wikipedia.org/wiki/Content_delivery_network">Content Delivery Network</a>. Dicho así tampoco aclara mucho, ¿no? Una CDN es una red de servidores que replican el contenido de una web entre varias máquinas, para hacer que esté siempre disponible y que además sea accesible de una forma más rápida.</p>
<p>Pongamos un ejemplo. Si tienes un blog alojado en un hosting, todo el contenido del mismo lo servirá ese hosting, usando su propio ancho de banda. Si aún no tienes muchas visitas, puede que no tengas mayor problema, pero si tu blog empieza a crecer, el ancho de banda se puede ir colapsando. Aún peor, imagina que un día das con tu súper-post, que atrae a miles de visitas y se te cae el hosting, o tardan tanto tiempo en acceder a tu página que acaban no leyendo el artículo. Un CDN, entre otras cosas, evita esto.</p>
<p><span id="more-2633"></span></p>
<p>Al estar tu contenido repartido entre varios servidores la carga y el ancho de banda se reparten, por lo que es mucho menos probable que tu hosting se sature. De esta forma podrás asegurar que no se te caiga el servidor o que responda más rápido.</p>
<p>En general, las CDNs son de pago (la más famosas son <a title="Website Akamai" href="http://www.akamai.com/">Akamai</a> y <a title="Amazon Cloud Front" href="http://aws.amazon.com/cloudfront/">Amazon Cloud Front</a>), sin embargo puedes usar ya mismo en tu blog una CDN gratuita, <a title="CoralCDN Website" href="http://www.coralcdn.org/">CoralCDN</a>. Es una red P2P destinada a alojar el contenido de los usuarios en varios servidores. De forma muy simple, para usar CoralCDN basta con añadir .nyud.net a la URL que queramos que use CoralCDN. </p>
<p>Por ejemplo, podéis probar a poner esta URL en vuestro navegador: <a href="http://www.todowp.org.nyud.net/">http://www.todowp.org.nyud.net</a>. Lo que ocurrirá en ese momento es que la página web se cargará normalmente, pero tratará de usar y descargar el contenido de los servidores de CoralCDN, y no sólo de nuestro hosting.</p>
<p>¿Cómo puedes usar esta red desde Wordpress? Muy sencillo, mediante el plugin <a title="FreeCDN en Wordpress" href="http://wordpress.org/extend/plugins/free-cdn/">FreeCDN</a> (<a title="Web del autor de FreeCDN" href="http://www.phoenixheart.net/wp-plugins/free-cdn/">website de FreeCDN</a>). Una vez instalado, en el panel de administración del plugin solo tenéis que activar aquellos elementos que os gustaría que pasaran por CoralCDN:</p>
<p><a href="http://img.todowp.org/2010/01/4252350062_606a69ff89_o.png" rel="lightbox[2633]"><img style=' display: block; margin-right: auto; margin-left: auto;'  src="http://img.todowp.org/2010/01/4252350062_606a69ff89_o-225x300.png" alt="Página de administración de FreeCDN" title="Página de administración de FreeCDN" width="225" height="300" class="aligncenter size-medium wp-image-2910" /></a></p>
<p>JavaScripts, imágenes, CSS, HTMLs&#8230; El plugin insertará automáticamente .nyud.net y hará que estos contenidos se alojen en CoralCDN y que se descarguen de ahí. Si no queréis que ciertos contenidos se carguen, también se puede configurar para añadirlos o quitarlos específicamente. Podéis ver el efecto de su uso en la siguiente captura de Firebug:</p>
<p><a href="http://img.todowp.org/2010/01/4251576695_63844eb312_o.png" rel="lightbox[2633]"><img style=' display: block; margin-right: auto; margin-left: auto;'  src="http://img.todowp.org/2010/01/4251576695_63844eb312_o-300x51.png" alt="Ejemplo del funcionamiento del plugin" title="Ejemplo del funcionamiento del plugin" width="300" height="51" class="aligncenter size-medium wp-image-2909" /></a></p>
<p>Se puede ver como varios archivos JavaScript y CSS han sido servidos por CoralCDN. Puede ocurrir que al activar el plugin algunos de vuestros elementos no se vean bien por problemas con los estilos. Si os ocurre esto, podéis utilizar los paneles de <em>exclude</em>, para indicar que el contenido de los CSS no lo tenga en cuenta.</p>
<p>En resumen, el uso de CoralCDN y FreeCDN en Wordpress os permitirá, de una forma muy fácil, optimizar vuestro blog haciendo que la carga de ciertos elementos de la página, y parte del ancho de banda de vuestro hosting, usen una CDN gratuita.</p>
<img src="http://feeds.feedburner.com/~r/todowordpress/~4/NXLY-ZFcBX4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.todowp.org/que-es-una-cdn-y-como-puedes-configurar-wordpress-para-usarla/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://www.todowp.org/que-es-una-cdn-y-como-puedes-configurar-wordpress-para-usarla/</feedburner:origLink></item>
		<item>
		<title>Cambia el aspecto del escritorio de Wordpress con Fluency Admin</title>
		<link>http://feeds.todowp.org/~r/todowordpress/~3/wNMcMJ9lb-c/</link>
		<comments>http://www.todowp.org/cambia-el-aspecto-del-escritorio-de-wordpress-con-fluency-admin/#comments</comments>
		<pubDate>Sun, 24 Jan 2010 19:00:34 +0000</pubDate>
		<dc:creator>1C11</dc:creator>
				<category><![CDATA[Plugins]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Escritorio]]></category>

		<guid isPermaLink="false">http://www.todowp.org/?p=2860</guid>
		<description><![CDATA[Hoy os voy a hablar de un plugin que hace que nuestro escritorio de Wordpress sea mucho más atractivo. Gran parte del tiempo que pasamos en nuestro blog lo hacemos en el escritorio y tener un escritorio atractivo y productivo nos puede facilitar la vida.]]></description>
			<content:encoded><![CDATA[<p><a href="http://img.todowp.org/2010/01/3935692873_c9039dc69d.jpg" rel="lightbox[2860]"><img style=' display: block; margin-right: auto; margin-left: auto;'  src="http://img.todowp.org/2010/01/3935692873_c9039dc69d-300x241.jpg" alt="Escritorio" title="Escritorio" width="300" height="241" class="aligncenter size-medium wp-image-2905" /></a></p>
<p>Hoy os voy a hablar de un plugin que hace que nuestro escritorio de Wordpress sea mucho más atractivo. Gran parte del tiempo que pasamos en nuestro blog lo hacemos en el escritorio, y tener un escritorio atractivo y productivo nos puede facilitar la vida.</p>
<p><span id="more-2860"></span></p>
<p>Algunas de sus características principales son los siguientes:</p>
<ol>
<li><strong>Menú flotante</strong>: hace que al pasar por encima de cada menú del escritorio se desplieguen todas sus opciones.</li>
<li><strong>Teclas de acceso rápido a los menús</strong>: cada menú lleva asociado una tecla de acceso directo lo que hace más fácil su activación sin tener que dejar el teclado.</li>
<li><strong>Ventana del login personalizada</strong>: permite cambiar la ventana de login de forma que también se ajuste al estilo de Fluency Admin. Además, incluye la posibilidad de mostrar un icono personalizado en la entrada del administrador, opción que puede ser interesante para aquellos blogs corporativos o en los que participan varios redactores.</li>
</ol>
<p><a href="http://img.todowp.org/2010/01/3935691189_0effd174f2.jpg" rel="lightbox[2860]"><img style=' display: block; margin-right: auto; margin-left: auto;'  src="http://img.todowp.org/2010/01/3935691189_0effd174f2-300x241.jpg" alt="Listado de entradas" title="Listado de entradas" width="300" height="241" class="aligncenter size-medium wp-image-2904" /></a></p>
<p>El plug-in se puede descargar de la página de WordPress o bien directamente de la web del autor y es totalmente compatible con la última versión de WP. Es un plugin bastante utilizado con unas 20.000 descargas y una puntuación media de cinco sobre cinco de un total de diecinueve votos. La última versión es de diciembre de 2009. Yo lo vengo usando desde hace tiempo tanto en Firefox como en Chrome aunque he decir que el comportamiento de los menús parece que funcionar algo mejor en este último.</p>
<p>Web de Fluency Admin: <a href="http://deanjrobinson.com/projects/fluency-admin/">http://deanjrobinson.com/projects/fluency-admin/</a></p>
<p>Web oficial de descarga de Wordpress.org: <a href="http://wordpress.org/extend/plugins/fluency-admin/">http://wordpress.org/extend/plugins/fluency-admin/</a></p>
<img src="http://feeds.feedburner.com/~r/todowordpress/~4/wNMcMJ9lb-c" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.todowp.org/cambia-el-aspecto-del-escritorio-de-wordpress-con-fluency-admin/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://www.todowp.org/cambia-el-aspecto-del-escritorio-de-wordpress-con-fluency-admin/</feedburner:origLink></item>
		<item>
		<title>Índice y archivos: imprimir la primera imagen de un post</title>
		<link>http://feeds.todowp.org/~r/todowordpress/~3/ekJE2jtr_qw/</link>
		<comments>http://www.todowp.org/indice-y-archivos-imprimir-la-primera-imagen-de-un-post/#comments</comments>
		<pubDate>Sat, 23 Jan 2010 19:00:16 +0000</pubDate>
		<dc:creator>Ignacio</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Trucos]]></category>
		<category><![CDATA[Archivos]]></category>
		<category><![CDATA[Índice]]></category>

		<guid isPermaLink="false">http://www.todowp.org/?p=2791</guid>
		<description><![CDATA[Si queremos crear un índice o unos archivos donde se haga un uso extensivo de imágenes (al lado de los extractos, por ejemplo), siempre puede ser interesante hacerlo sin depender de plugins.
Hoy vamos a proponeros un código que lo hará posible, y que deberemos pegar en functions.php.
Se nos permitirá entonces disponer de un nuevo &#8216;template [...]]]></description>
			<content:encoded><![CDATA[<p>Si queremos crear un índice o unos archivos donde se haga un uso extensivo de imágenes (al lado de los extractos, por ejemplo), siempre puede ser interesante hacerlo sin depender de plugins.</p>
<p>Hoy vamos a proponeros un código que lo hará posible, y que deberemos pegar en functions.php.</p>
<p>Se nos permitirá entonces disponer de un nuevo &#8216;template tag&#8217;, que podremos usar dentro de nuestros Loops, con el que imprimir la imagen en cuestión.</p>
<p><span id="more-2791"></span></p>
<p>El código es el siguiente :</p>
<pre>
function catch_that_image() {
	global $post, $posts;
	$first_img = '';
	ob_start();
	ob_end_clean();
	$output = preg_match_all('/&lt;img.+src=[\'&quot;]([^\'&quot;]+)[\'&quot;].*&gt;/i', $post-&gt;post_content, $matches);
	$first_img = $matches [1] [0];

	if(empty($first_img)){
	$first_img = &quot;/images/default.jpg&quot;; // default image
	}
return $first_img;
}
</pre>
<p>Recordemos que este código debe ir dentro de las declaraciones de apertura y cierre de php, que ya encontraremos en nuestro functions.php, o que habrá que añadir.</p>
<p>Nos dirigiremos ahora a nuestros archivos o índice, y usaremos el siguiente template tag, que equivaldrá a la primera imagen del post:</p>
<pre>
&lt;?php echo catch_that_image(); ?&gt;
</pre>
<p>Si lo quisiéramos linkando a la página final:</p>
<pre>
&lt;a href=&quot;&lt;?php the_permalink(); ?&gt;&quot;&gt;&lt;?php echo catch_that_image(); ?&gt;&lt;/a&gt;
</pre>
<img src="http://feeds.feedburner.com/~r/todowordpress/~4/ekJE2jtr_qw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.todowp.org/indice-y-archivos-imprimir-la-primera-imagen-de-un-post/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.todowp.org/indice-y-archivos-imprimir-la-primera-imagen-de-un-post/</feedburner:origLink></item>
		<item>
		<title>¿Cómo saber si nuestro blog está hackeado?</title>
		<link>http://feeds.todowp.org/~r/todowordpress/~3/1_LcAzkvbic/</link>
		<comments>http://www.todowp.org/como-saber-si-nuestro-blog-esta-hackeado/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 19:00:35 +0000</pubDate>
		<dc:creator>Jordi Sanchez</dc:creator>
				<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[Código]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Webmaster Tools]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.todowp.org/?p=2873</guid>
		<description><![CDATA[No es nada fuera de lo habitual el hackeo de páginas web, y el hecho de que WordPress sea un sistema tan utilizado hace a las personas malintencionadas fijarse en este tipo de software. Es por eso que, si no tienes el blog bien protegido, podría pasarte que lo atacaran.
Muchas veces puedes no enterarte de [...]]]></description>
			<content:encoded><![CDATA[<p>No es nada fuera de lo habitual el <strong>hackeo de páginas web</strong>, y el hecho de que WordPress sea un sistema tan utilizado hace a las personas malintencionadas fijarse en este tipo de software. Es por eso que, si no tienes el blog bien protegido, <strong>podría pasarte que lo atacaran</strong>.</p>
<p>Muchas veces puedes no enterarte de que te han hackeado el sitio, ya que los usuarios malintencionados sólo muestran enlaces <strong>al robot de Google</strong> sin que los visitantes &#8220;normales&#8221; de nuestra web puedan notar nada. Esta técnica es conocida como <strong><em>cloaking</em></strong>.</p>
<p>Una de las formas manuales de detectar que nuestra web ha tenido una inyección de código malicioso es entrar en Google y <strong>buscar nuestro propio sitio web</strong>. Desde el buscador, accederemos a la caché: éste es el contenido que el <strong>buscador ha indexado de nuestra web</strong>. Si vemos algo diferente, habitualmente todo de texto que no es nuestro al final de nuestra página, es que hay algún tipo de <strong>hackeo</strong>. </p>
<p><span id="more-2873"></span></p>
<p>Otra forma que podemos utilizar son las <strong>herramientas para webmasters de Google</strong>. Es un tema que trataremos más a fondo, pero centrémonos en el <strong>hackeo</strong>: si nuestro sitio tiene inyección de código, veremos como &#8220;palabras más encontradas por Google&#8221; algunas raras que no corresponden a nuestro contenido original. </p>
<p>Una forma automática es configurar las <strong>alertas de Google Alerts</strong> para que nos informen sobre contenidos raros en nuestro sitio. Para hacerlo, iremos a la página de <a href="http://www.google.com/alerts">Google Alerts</a> y realizamos una búsqueda similar a &#8220;<em>viagra OR cialis OR levitra OR Phentermine OR porn site:nuestrositio.com</em>&#8220;. Configuraremos las alertas según convenga para que nos <strong>informe en nuestro correo</strong> cuando haya resultados nuevos sobre esas palabras en nuestro sitio.</p>
<p>Ahora ya sabemos <strong>cómo detectar</strong> si nuestro WordPress ha sufrido un ataque hacker de inyección de código. El próximo día hablaremos de <strong>cómo solucionarlo</strong> y <strong>qué hacer</strong> para que Google nos vuelva a indexar correctamente.</p>
<p>Fuentes: <a href="http://www.elqudsi.com/articulos/%C2%BFcomo-saber-si-tu-blog-ha-sido-hackeado/">Ismael El-Qudsi</a>, <a href="http://www.adseok.com/tips-seo/utilizar-google-alerts-para-saber-si-tu-web-es-hackeada/">Adseok</a></p>
<img src="http://feeds.feedburner.com/~r/todowordpress/~4/1_LcAzkvbic" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.todowp.org/como-saber-si-nuestro-blog-esta-hackeado/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.todowp.org/como-saber-si-nuestro-blog-esta-hackeado/</feedburner:origLink></item>
		<item>
		<title>Índice y archivos: combinar extractos con posts enteros</title>
		<link>http://feeds.todowp.org/~r/todowordpress/~3/T3IxO0xvOU4/</link>
		<comments>http://www.todowp.org/indice-y-archivos-combinar-extractos-con-posts-enteros/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 19:00:10 +0000</pubDate>
		<dc:creator>Ignacio</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Trucos]]></category>
		<category><![CDATA[Archivos]]></category>
		<category><![CDATA[Índice]]></category>

		<guid isPermaLink="false">http://www.todowp.org/?p=2793</guid>
		<description><![CDATA[Imaginemos una situación donde el propietario de un site que está usando WordPress nos pregunta si es posible combinar, en una ristra de artículos (por ejemplo, en los archivos de tal o cual categoría) extractos y posts completos.
De este modo, ciertos posts tomarían protagonismo desde un principio (no splo por extensión de texto, sino porque [...]]]></description>
			<content:encoded><![CDATA[<p>Imaginemos una situación donde el propietario de un site que está usando WordPress nos pregunta si es posible combinar, en una ristra de artículos (por ejemplo, en los archivos de tal o cual categoría) extractos y posts completos.</p>
<p>De este modo, ciertos posts tomarían protagonismo desde un principio (no splo por extensión de texto, sino porque saldría el artículo completo, sus imágenes, otros archivos adjuntados, etc).</p>
<p>Tras señalar, para hacer justicia, que la función del extracto personalizado puede ser una solución provisional a este problema (ya que nos permite variar cantidades de texto, sin dejar de presentar extractos), uno puede preguntarse si no es posible ir más allá.</p>
<p><span id="more-2793"></span></p>
<p>Con WordPress es posible realizar tal operación. Abriremos el template donde se encuentre el Loop en cuestión que tenemos que modificar, y lo adaptaremos a la siguiente fórmula (cada Loop tiene su propia maquetación HTML, de modo que la tendréis que reflejar en el código que os proponemos):</p>
<pre>
&lt;?php if (have_posts())
	: while (have_posts())
	: the_post(); ?&gt;

	&lt;?php $customdisplay = get_post_custom_values(&quot;post-entero&quot;); ?&gt;

	&lt;?php if (isset($customdisplay[0])) { ?&gt;

		&lt;h1&gt;&lt;a href=&quot;&lt;?php the_permalink(); ?&gt;&quot;&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;&lt;/h1&gt;
		&lt;?php the_content(); ?&gt;

	&lt;?php } else { ?&gt;

		&lt;h1&gt;&lt;a href=&quot;&lt;?php the_permalink(); ?&gt;&quot;&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;&lt;/h1&gt;
		&lt;?php the_excerpt(); ?&gt;

	&lt;?php } ?&gt;

&lt;?php endwhile;
 endif; ?&gt;
</pre>
<p>Salvamos y cerramos.</p>
<p>A partir de entonces, para designar a un post como &#8220;entero&#8221; en los archivos y/o el índice en el que hayamos aplicado este nuevo loop, deberemos darle un campo personalizado llamado post-entero, y al que asignar un valor de <code>true</code>.</p>
<p>Esperemos que este truco os sea provechoso.</p>
<img src="http://feeds.feedburner.com/~r/todowordpress/~4/T3IxO0xvOU4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.todowp.org/indice-y-archivos-combinar-extractos-con-posts-enteros/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.todowp.org/indice-y-archivos-combinar-extractos-con-posts-enteros/</feedburner:origLink></item>
		<item>
		<title>Nueva forma para widgetizar nuestro tema</title>
		<link>http://feeds.todowp.org/~r/todowordpress/~3/st6QSNEc-4k/</link>
		<comments>http://www.todowp.org/nueva-forma-para-widgetizar-nuestro-tema/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 19:00:28 +0000</pubDate>
		<dc:creator>Ignacio</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Trucos]]></category>
		<category><![CDATA[Widgets]]></category>

		<guid isPermaLink="false">http://www.todowp.org/?p=2801</guid>
		<description><![CDATA[En este post, veremos un sencillo código para poner en functions.php que nos permitirá &#8220;widgetizar&#8221; nuestro tema de una forma más compacta a la habitual.
Como sabemos, los widgets son las pequeñas funcionalidades que, desde la Administración, y siempre y cuando nuestro tema esté preparado para ello (como hoy lograremos), pueden ser emplazadas libremente en los [...]]]></description>
			<content:encoded><![CDATA[<p>En este post, veremos un sencillo código para poner en functions.php que nos permitirá &#8220;widgetizar&#8221; nuestro tema de una forma más compacta a la habitual.</p>
<p>Como sabemos, <a href="http://www.todowp.org/widgetizando-nuestro-tema/">los widgets son las pequeñas funcionalidades</a> que, desde la Administración, y siempre y cuando nuestro tema esté preparado para ello (como hoy lograremos), pueden ser emplazadas libremente en los espacios habilitados a tal fin, y todo ello desde la página de Opciones correspondiente en WordPress.</p>
<p>Cuando normalmente widgetizábamos nuestro tema, debíamos poner en functions.php varios &#8220;condicionales&#8221; para listar cada widget a ser reconocido.</p>
<p><span id="more-2801"></span></p>
<p>Sin embargo, hay una manera más compacta de hacerlo :</p>
<pre>
&lt;?php // multiple widgetizable sidebars
if (function_exists('register_sidebar')) {
$sidebars = array('Mensaje Bienvenida', 'Barra Lateral', 'Pie de Página');
foreach($sidebars as $name) {
register_sidebar(array('name'=&gt; $name,
'before_widget' =&gt; '&lt;div id=&quot;%1$s&quot; class=&quot;widget %2$s&quot;&gt;',
'after_widget' =&gt; '&lt;/div&gt;',
'before_title' =&gt; '&lt;h3 class=&quot;widgetTitle&quot;&gt;',
'after_title' =&gt; '&lt;/h3&gt;',
));
}
}
?&gt;
</pre>
<p>Aquí habremos habilitado tres espacios, &#8220;Mensaje de Bienvenida&#8221;, &#8220;Barra Lateral&#8221; y &#8220;Pie de Página&#8221;. WordPress nos registrará la posibilidad de llenar esos espacios con widgets.</p>
<p>Luego, en los templates correspondientes, vamos a hacer la llamada respectiva. Para la &#8220;Barra Lateral&#8221; en sidebar.php :</p>
<pre>
&lt;?php if ( !function_exists('dynamic_sidebar')
|| !dynamic_sidebar('Barra Lateral') ) : ?&gt;
&lt;p&gt;¡ Espacio para widgets !&lt;/p&gt;
&lt;?php endif; ?&gt;
</pre>
<p>Deberemos hacer lo mismo en home.php escribiendo &#8216;Mensaje de Bienvenida&#8217; como nombre del widget, y en footer.php escribiendo &#8216;Pie de Página&#8217;.</p>
<img src="http://feeds.feedburner.com/~r/todowordpress/~4/st6QSNEc-4k" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.todowp.org/nueva-forma-para-widgetizar-nuestro-tema/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.todowp.org/nueva-forma-para-widgetizar-nuestro-tema/</feedburner:origLink></item>
		<item>
		<title>Posts sólo con ciertos días desde su publicación, en nuestra sidebar</title>
		<link>http://feeds.todowp.org/~r/todowordpress/~3/4owgja7oZz8/</link>
		<comments>http://www.todowp.org/posts-solo-con-ciertos-dias-desde-su-publicacion-en-nuestra-sidebar/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 19:00:05 +0000</pubDate>
		<dc:creator>Ignacio</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Trucos]]></category>
		<category><![CDATA[Posts]]></category>
		<category><![CDATA[Sidebar]]></category>

		<guid isPermaLink="false">http://www.todowp.org/?p=2796</guid>
		<description><![CDATA[Primera parte, en la sidebar según su &#8220;frescura&#8221; (recientes)
Cuando queremos sacar buen provecho de nuestros artículos, siempre puede ser interesante que a lo largo de nuestro blog ciertos de ellos, por ser recientes, permanezcan visibles en alguna parte de la página, por ejemplo en nuestra barra lateral.
Para ello, pondremos nuestro código allí donde creamos mejor [...]]]></description>
			<content:encoded><![CDATA[<h3>Primera parte, en la sidebar según su &#8220;frescura&#8221; (recientes)</h3>
<p>Cuando queremos sacar buen provecho de nuestros artículos, siempre puede ser interesante que a lo largo de nuestro blog ciertos de ellos, por ser recientes, permanezcan visibles en alguna parte de la página, por ejemplo en nuestra barra lateral.</p>
<p>Para ello, pondremos nuestro código allí donde creamos mejor (al principio de todo de sidebar.php por ejemplo, o incluso como recordatorio en single.php después del contenido principal), y decidiremos cuántos días permanecerán ahí los posts. En nuestro ejemplo, una semana.</p>
<p><span id="more-2796"></span></p>
<pre>
&lt;?php
// sólo 5 posts de la categoría 11
$my_query = new WP_Query('cat=11&amp;showposts=5');

// preguntando a la base de datos...
while ($my_query-&gt;have_posts()) : $my_query-&gt;the_post();

// especificar cuántos días el post será "aceptablemente fresco" para ser usado, aquí, 7
$goAwayDate = time() - (60 * 60 * 24 * 7);

// captar la fecha del post
$postDate = get_the_time('U');

// si el post es más viejo de lo aceptable, no hacer nada
if ($postDate &lt; $goAwayDate) {

// sino, mostrarlo
} else { ?&gt;

&lt;h1&gt;&lt;?php the_title(); ?&gt;&lt;/h1&gt;
&lt;?php the_excerpt(); ?&gt;

&lt;?php } endwhile; ?&gt;
</pre>
<p>En este código vamos a recoger hasta 5 artículos que tengan menos de una semana, de una categoría definida (cat=11), y listarlos en la sidebar.</p>
<p>Si no sabemos qué número de identidad tiene la categoría a la que queremos aplicar este truco, podemos usar category_name=cine.</p>
<p>Si quisiéramos aplicar el truco al conjunto de nuestros posts, borraremos la parte cat=11&amp; de nuestro ejemplo.</p>
<h3>Segunda parte, &#8220;Stickies&#8221; en el loop principal</h3>
<p>Finalmente conviene recordar que, si lo que nos interesa es listar los posts marcados como &#8220;sticky&#8221; (lo cual es otro método de hacer permanecer ciertos posts más visibles durante más tiempo, a pesar de que nuevos artículos sean publicados), aquí tenemos el loop para ello.</p>
<p>Deberemos poner el siguiente código justo antes de nuestro loop.</p>
<p>Insistimos, ¡son dos cosas distintas! Lo pongo como recordatorio solamente.</p>
<pre>
&lt;?php
/* Pilla los posts marcados como sticky */
$sticky = get_option( 'sticky_posts' );

/* Listar los más recientes primero */
rsort( $sticky );

/* Agarrar los 2 más recientes, no más */
$sticky = array_slice( $sticky, 0, 2 );

/* Prepararlos para el output ! */
query_posts( array( 'post__in' =&gt; $sticky, 'caller_get_posts' =&gt; 1 ) );
?&gt;
</pre>
<p>Esperamos que estos trucos os sean de utilidad.</p>
<img src="http://feeds.feedburner.com/~r/todowordpress/~4/4owgja7oZz8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.todowp.org/posts-solo-con-ciertos-dias-desde-su-publicacion-en-nuestra-sidebar/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.todowp.org/posts-solo-con-ciertos-dias-desde-su-publicacion-en-nuestra-sidebar/</feedburner:origLink></item>
		<item>
		<title>Seguridad básica: Plugins</title>
		<link>http://feeds.todowp.org/~r/todowordpress/~3/d46jvXIdk0c/</link>
		<comments>http://www.todowp.org/seguridad-basica-plugins/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 19:00:11 +0000</pubDate>
		<dc:creator>Jordi Sanchez</dc:creator>
				<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[Antivirus]]></category>
		<category><![CDATA[Backups]]></category>
		<category><![CDATA[Base de datos]]></category>
		<category><![CDATA[Login]]></category>
		<category><![CDATA[Vulnerabilidad]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.todowp.org/?p=2828</guid>
		<description><![CDATA[Una de las muchas funcionalidades interesantes de WordPress son los plugins. Nos permiten ampliar las posibilidades de nuestro blog añadiendo funcionalidades y opciones que WordPress no trae. Aún así, si nos referimos a seguridad, debemos tener cierto cuidado, ya que cualquier plug-in puede introducir bugs de seguridad en nuestra instalación de WordPress.
Es por este motivo [...]]]></description>
			<content:encoded><![CDATA[<p>Una de las muchas funcionalidades interesantes de WordPress son los <strong>plugins</strong>. Nos permiten ampliar las posibilidades de nuestro blog añadiendo funcionalidades y opciones que <strong>WordPress</strong> no trae. Aún así, si nos referimos a <strong>seguridad</strong>, debemos tener cierto cuidado, ya que cualquier plug-in puede introducir <strong>bugs de seguridad</strong> en nuestra instalación de <strong>WordPress</strong>.</p>
<p>Es por este motivo que se recomienda, en general, utilizar el <strong>mínimo</strong> de plugins posibles. Coge tu lista de plugins y pregúntate: ¿este plugin realmente es esencial para mi blog? Todos los plugins nos dan funcionalidades extra, pero seguro que algunos podrías ahorrártelos fácilmente. Y aquellos que sigas queriendo mantener instalados, debes tenerlos <strong>actualizados</strong> a su ultima versión para ahorrarte problemas.</p>
<p><span id="more-2828"></span></p>
<p>Para controlar tu WordPress y comprobar que no esté fallando nada, puedes instalar algunos <strong>plugins de seguridad</strong>:</p>
<ol>
<li><a href="http://www.ilfilosofo.com/blog/wp-db-backup/"><strong>WordPress Database Backup</strong></a>: Siguiendo con el anterior artículo del tutorial de seguridad, plugin imprescindible para realizar tus <strong>copias de seguridad</strong> periódicamente sin preocuparte.</li>
<li><a href="http://wordpress.org/extend/plugins/wp-security-scan/"><strong>WP Security Scan</strong></a>: escanea tu instalación de WordPress para <strong>buscar vulnerabilidades de seguridad</strong> y sugerirte acciones para corregirlas. Escanea passwords, permisos de archivo, seguridad de la base de datos, protección de la administración de WordPress, etc.</li>
<li><a href="http://wordpress.org/extend/plugins/semisecure-login-reimagined/"><strong>Semisecure Login Reimagined</strong></a>: incrementa la seguridad del acceso (<em>login</em>) a tu blog utilizando una combinación de claves públicas y privadas de <strong>encriptación para esconder tus passwords</strong> de vistas ajenas. Se requiere JavaScript y es especialmente útil si no dispones de SSL.</li>
<li><a href="http://wordpress.org/extend/plugins/invisible-defender/"><strong>Invisible Defender</strong></a>: Añade dos cajas de texto adicionales e invisibles a todos los formularios del blog, cosa que nos permite <strong>evitar muchos de los bots de SPAM</strong> y otras técnicas de ataque.</li>
<li><a href="http://wordpress.org/extend/plugins/tac/"><strong>Theme Authenticity Checker</strong></a>: Nos permite escanear el código fuente de nuestro theme, siendo de esta forma capaz de <strong>encontrar inyecciones de código malicioso</strong> o ataques similares, mostrando donde está el código problemático para poderlo eliminar fácilmente.</li>
<li><a href="http://wordpress.org/extend/plugins/antivirus/"><strong>WP Antivirus</strong></a>: Antivirus para WordPress que permite <strong>encontrar ficheros sospechosos</strong>, es una solución fácil y efectiva de proteger tu blog frente a exploits y inyecciones de SPAM. Aquí tienes <a href="http://www.todowp.org/wordpress-antivirus-no-lo-creen/">la reseña de WP Antivirus</a> en TodoWP de <a title="Visitar el sitio web de Marcelo Lynch" rel="external" href="http://microutopia.com.ar/">Marcelo Lynch</a>.</li>
</ol>
<p>Hay muchos más plugins disponibles por Internet, seguro que muchos muy buenos, pero creo que con estos puedes tener una buena instalación segura. Si conoces algún otro interesante, ¡coméntalo y así todos aprendemos!</p>
<p>Fuentes: <a href="http://bitelia.com/2008/04/10-plugins-seguridad-wordpress">Bitelia</a>, <a href="http://www.anieto2k.com/2008/04/16/10-plugins-para-mejorar-la-seguridad-de-nuestro-wordpress/">anieto2k</a>, <a href="http://bitsignals.com/2009/09/29/plugins-seguridad-para-wordpress/">bitsignals</a>.</p>
<img src="http://feeds.feedburner.com/~r/todowordpress/~4/d46jvXIdk0c" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.todowp.org/seguridad-basica-plugins/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.todowp.org/seguridad-basica-plugins/</feedburner:origLink></item>
		<item>
		<title>Listar links adicionales a nuestras listas de páginas estáticas</title>
		<link>http://feeds.todowp.org/~r/todowordpress/~3/ZkH-GyzWjqc/</link>
		<comments>http://www.todowp.org/listar-links-adicionales-a-nuestras-listas-de-paginas-estaticas/#comments</comments>
		<pubDate>Sun, 17 Jan 2010 19:00:58 +0000</pubDate>
		<dc:creator>Ignacio</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Trucos]]></category>
		<category><![CDATA[Enlaces]]></category>
		<category><![CDATA[Páginas]]></category>

		<guid isPermaLink="false">http://www.todowp.org/?p=2756</guid>
		<description><![CDATA[Hoy vamos a explorar un buen truco que hemos tenido la ocasión de ver últimamente por la red de redes.
Todos sabemos que el listado de nuestras páginas estáticas es un arma poderosa para el creador de una página web. Siendo usuarios, una de las primeras cosas en las que nos fijamos al entrar en un [...]]]></description>
			<content:encoded><![CDATA[<p>Hoy vamos a explorar un buen truco que hemos tenido la ocasión de ver últimamente por la red de redes.</p>
<p>Todos sabemos que el listado de nuestras páginas estáticas es un arma poderosa para el creador de una página web. Siendo usuarios, una de las primeras cosas en las que nos fijamos al entrar en un nuevo site es en cómo sus editores han organizado ése menú, que, en muchos casos, estructura información importante a propósito de la web, y dice por tanto bastante acerca de cómo sus creadores quieren presentarla : &#8220;Quiénes Somos&#8221;, &#8220;Contacto&#8221;, &#8220;Filosofía&#8221;, &#8220;Nota Legal&#8221; o, comúnmente también, una serie de subpáginas con contenido relevante, que pueden llegar a ser incluso el corazón del proyecto.</p>
<p>Como WordPress puede ser usado como gestor de contenidos en un site extenso (además de su intención inicial, como sistema para bloguear), nos convendrá en alguna ocasión poder listar nuestras páginas estáticas más algunos links que se abran en un site amigo, y ello en una lista compacta.</p>
<p><span id="more-2756"></span></p>
<p>Tal lista, vertical u horizontal, cuando la hayamos <a href="http://www.alistapart.com/topics/design/">trabajado con CSS</a> para darle el diseño que queramos, será importante que sea editable desde la Administración de WordPress, para evitar tener que abrir los templates una vez tras otra (especialmente si el site va a ser editado por otra gente que no sea el desarrollador).</p>
<p>La ventaja de listar páginas estáticas y links externos en un mismo espacio de diseño es esencialmente el poder sorprender a nuestros usuarios con un menú algo más articulado, que a la vez nosotros podremos distinguir de los links que listamos, usualmente, como sites amigos.</p>
<p>Para ello, abriremos functions.php (o bien, si no lo tenemos, lo crearemos con un editor de texto como por ejemplo <a href="http://notepad-plus.sourceforge.net/">Notepad++</a>), y añadiremos el siguiente código :</p>
<pre>
// include additional links
function add_bookmarks_to_menu($output) {
$bookmarks = (array) get_bookmarks('hide_invisible=0&amp;category_name=wp_list_pages');
foreach ($bookmarks as $bookmark) {
$output .= &quot;&lt;li&gt;&lt;a href='{$bookmark-&gt;link_url}' title='{$bookmark-&gt;link_name}'&gt;{$bookmark-&gt;link_name}&lt;/a&gt;&lt;/li&gt;\n&quot;;

}
return $output;
}
add_filter('wp_list_pages', 'add_bookmarks_to_menu');
</pre>
<p>Estamos simplemente tomando ventaja del sistema de links que WordPress tiene para nosotros.</p>
<p>Iremos ahora a la Administración y haremos lo siguiente :</p>
<ol>
<li>Links &gt; Añadir Nuevo
</li>
<li>Entrar un nombre y URL para cada link especial
</li>
<li>Seleccionar &#8220;Mantener este link privado&#8221;
</li>
<li>Clicar &#8220;Añadir Link&#8221;
</li>
</ol>
<p>Todos los links que añadamos como &#8216;privados&#8217; serán listados junto a nuestras páginas estáticas automáticamente (que, recordemos, son convocadas con el <em>template tag</em> <a href="http://codex.wordpress.org/Template_Tags/wp_list_pages">&lt;?php wp_list_pages(); ?&gt;</a>).</p>
<img src="http://feeds.feedburner.com/~r/todowordpress/~4/ZkH-GyzWjqc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.todowp.org/listar-links-adicionales-a-nuestras-listas-de-paginas-estaticas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.todowp.org/listar-links-adicionales-a-nuestras-listas-de-paginas-estaticas/</feedburner:origLink></item>
		<item>
		<title>Escribir código en el editor visual</title>
		<link>http://feeds.todowp.org/~r/todowordpress/~3/SjWumKZwgcs/</link>
		<comments>http://www.todowp.org/escribir-codigo-en-el-editor-visual/#comments</comments>
		<pubDate>Sat, 16 Jan 2010 19:00:45 +0000</pubDate>
		<dc:creator>Ignacio</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Trucos]]></category>
		<category><![CDATA[Código]]></category>
		<category><![CDATA[Editor]]></category>

		<guid isPermaLink="false">http://www.todowp.org/?p=2771</guid>
		<description><![CDATA[La manera más sencilla de escribir código en nuestros posts para que sea ejecutado (por ejemplo, &#8220;divs&#8221; adicionales que darían una maquetación extra a la página, o bien &#8220;snippets&#8221; de Javascript dedicados sólo a ése post en concreto) es escribir en el editor HTML de WordPress.
Sin embargo, si queremos seguir usando el editor visual y [...]]]></description>
			<content:encoded><![CDATA[<p>La manera más sencilla de escribir código en nuestros posts para que sea ejecutado (por ejemplo, &#8220;divs&#8221; adicionales que darían una maquetación extra a la página, o bien &#8220;snippets&#8221; de Javascript dedicados sólo a ése post en concreto) es escribir en el editor HTML de WordPress.</p>
<p>Sin embargo, si queremos seguir usando el editor visual y disponer de la capacidad para escribir código ejecutable con el mismo, sin que WordPress lo transforme en contenido de sólo lectura, podremos utilizar el siguiente código :</p>
<pre>
// desactivar auto-formato
function my_formatter($content) {
	$new_content = '';
	$pattern_full = '{(\[cod\].*?\[/cod\])}is';
	$pattern_contents = '{\[cod\](.*?)\[/cod\]}is';
	$pieces = preg_split($pattern_full, $content, -1, PREG_SPLIT_DELIM_CAPTURE);

	foreach ($pieces as $piece) {
		if (preg_match($pattern_contents, $piece, $matches)) {
			$new_content .= $matches[1];
		} else {
			$new_content .= wptexturize(wpautop($piece));
		}
	}
	return $new_content;
}
remove_filter('the_content', 'wpautop');
remove_filter('the_content', 'wptexturize');
add_filter('the_content', 'my_formatter', 99);
</pre>
<p>Lo pondremos en functions.php (archivo que si no tenemos, podemos crear y nombrar como tal, y añadir a nuestro tema), dentro de las declaraciones de php. Salvamos y cerramos.</p>
<p>Es entonces cuando podemos ir a nuestro editor visual, y usar el siguiente shortcode : [cod].</p>
<p>Por ejemplo, si queremos añadir un poco de HTML :</p>
<p>[cod]&lt;div class=&quot;columna1&quot;&gt;[/cod]<br />
Aquí seguimos escribiendo normal, etc etc etc<br />
[cod]&lt;/div&gt;[/cod]</p>
<img src="http://feeds.feedburner.com/~r/todowordpress/~4/SjWumKZwgcs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.todowp.org/escribir-codigo-en-el-editor-visual/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.todowp.org/escribir-codigo-en-el-editor-visual/</feedburner:origLink></item>
		<item>
		<title>Hacer copias de seguridad regularmente</title>
		<link>http://feeds.todowp.org/~r/todowordpress/~3/7kaS5r5-378/</link>
		<comments>http://www.todowp.org/hacer-copias-de-seguridad-regularmente/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 19:00:25 +0000</pubDate>
		<dc:creator>Jordi Sanchez</dc:creator>
				<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[Backups]]></category>
		<category><![CDATA[Base de datos]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[Hosting]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Servidor]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.todowp.org/?p=2806</guid>
		<description><![CDATA[Tras dos posts sobre seguridad, 1. Consejos básicos: tus contraseñas y 2. Seguridad básica: instalación de WordPress, hoy toca hablar sobre las copias de seguridad. Tu blog empezará con poco contenido y quizá no veas razonable hacer copias de seguridad muy a menudo, pero dentro de unos meses seguro que tendrás muchos posts, páginas, tutoriales, [...]]]></description>
			<content:encoded><![CDATA[<p>Tras dos posts sobre <a href="http://www.todowp.org/categoria/seguridad/"><strong>seguridad</strong></a>, <a href="http://www.todowp.org/seguridad-en-wordpress-consejos-basicos/">1. Consejos básicos: tus contraseñas</a> y <a href="http://www.todowp.org/seguridad-basica-instalacion-de-wordpress/">2. Seguridad básica: instalación de WordPress</a>, hoy toca hablar sobre las <strong>copias de seguridad</strong>. Tu blog empezará con poco contenido y quizá no veas razonable hacer copias de seguridad muy a menudo, pero dentro de unos meses seguro que tendrás muchos posts, páginas, tutoriales, reseñas&#8230; lo que sea, que seguro que querrás tener <strong>bien guardado</strong>.</p>
<p>Habitualmente <strong>WordPress no falla</strong>, no perdemos datos cuando instalamos plugins o themes, ni cuando actualizamos alguno de sus componentes. No obstante, siempre que hagamos algún cambio importante en nuestro blog deberíamos <strong>tener copia de nuestra base de datos y de nuestros archivos de servidor</strong>. Un error típico y fácil es hacer copia solamente de la base de datos, y dejarnos sin copiar las imágenes y archivos que tengamos almacenados en nuestro blog.</p>
<p><span id="more-2806"></span></p>
<p>Empecemos por la <strong>base de datos</strong>. Personalmente, en mi blog utilizo un plugin que se llama <a href="http://www.ilfilosofo.com/blog/wp-db-backup">WordPress Database Backup</a>. Al instalarlo, te aparece un menú de <strong>Backups</strong> en el apartado de Herramientas de tu blog, donde puedes configurar <strong>respaldos manuales</strong> (guardar una copia de tu base de datos en el servidor o en tu ordenador) o <strong>automáticos</strong> (programar respaldos que te enviarán a un correo electrónico, con posibilidad de hacerlo cada hora, dos veces al día, cada día, una vez a la semana&#8230;). <strong>Un plugin muy recomendable</strong>.</p>
<p>Personalmente, hago un <strong>backup semanal</strong> de la base de datos, de forma automática a mi correo electrónico. No obstante, esto no debe ser así en todo blog: depende, sobre todo, de lo que actualices. Si es un blog muy activo, con comentarios a diario, muchas entradas, etc., quizá es mejor hacerlo a diario. Es igual de fácil, <strong>¡con este plugin es todo automático!</strong></p>
<p>Para las <strong>copias de seguridad del servidor</strong> no utilizo ningun plugin ni programa automático. Muchas compañías de hosting te ofrecen la posibilidad de que te hagan respaldos automáticos en sus propios servidores, de forma que ya no necesitarías hacer nada. Aun así, yo estoy acostumbrado a hacer una<strong> copia de seguridad</strong> de mi servidor de vez en cuando, quizá una vez al mes o cada dos meses. En mi servidor básicamente lo que se actualiza son blogs, así que no tengo muchas novedades, solamente imágenes para ilustrar los posts. Creo que así es suficiente, pero esto es decisión vuestra.</p>
<p>Espero que este pequeño tutorial haga que los usuarios de WordPress se conciencien y hagan todas las <strong>copias de seguridad</strong> necesarias para no perder nunca nada. Y, sobre todo, no olvidéis las <strong>copias de seguridad antes de actualizar vuestro WordPress</strong> a una nueva versión: es el proceso más delicado que hace nuestro sistema de gestión de contenidos y es mejor no dejar nada al azar.</p>
<img src="http://feeds.feedburner.com/~r/todowordpress/~4/7kaS5r5-378" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.todowp.org/hacer-copias-de-seguridad-regularmente/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.todowp.org/hacer-copias-de-seguridad-regularmente/</feedburner:origLink></item>
		<item>
		<title>Formas rápidas para incluir templates</title>
		<link>http://feeds.todowp.org/~r/todowordpress/~3/cF1bpu9JImk/</link>
		<comments>http://www.todowp.org/formas-rapidas-para-incluir-templates/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 19:00:16 +0000</pubDate>
		<dc:creator>Ignacio</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Temas]]></category>
		<category><![CDATA[Trucos]]></category>
		<category><![CDATA[Templates]]></category>

		<guid isPermaLink="false">http://www.todowp.org/?p=2710</guid>
		<description><![CDATA[Cuando estamos fabricando un tema de WordPress, utilizamos una serie de típicos tags de PHP para incluir, alrededor del contenido principal (Loop), distintos elementos esenciales, como por ejemplo:

&#60;?php get_header(); ?&#62;
&#60;?php get_sidebar(); ?&#62;
&#60;?php get_footer(); ?&#62;

El tener separados estos tres archivos, que tratan los distintos espacios gráficos y funcionales del blog (encabezado, pie de página, barra lateral&#8230;), [...]]]></description>
			<content:encoded><![CDATA[<p>Cuando estamos fabricando un tema de WordPress, utilizamos una serie de típicos tags de PHP para <a href="http://codex.wordpress.org/Include_Tags">incluir</a>, alrededor del contenido principal (Loop), distintos elementos esenciales, como por ejemplo:</p>
<pre>
&lt;?php get_header(); ?&gt;
&lt;?php get_sidebar(); ?&gt;
&lt;?php get_footer(); ?&gt;
</pre>
<p>El tener separados estos tres archivos, que tratan los distintos espacios gráficos y funcionales del blog (encabezado, pie de página, barra lateral&#8230;), nos servirá para tenerlos bien accesibles cuando necesitemos editar alguno de ellos.</p>
<p><span id="more-2710"></span></p>
<p>Ahora bien, si los tres tags señalados son usualmente suficientes, a veces necesitamos incluir archivos de template especiales, con un nombre único, puesto por nosotros. Por ejemplo: un script de Google Ads que debería aparecer en los archivos y el template de artículo, pero no en el índice.</p>
<p>Para incluír templates especiales, PHP dispone de una fórmula que podemos usar allí donde queramos :</p>
<pre>
&lt;?php include( TEMPLATEPATH . '/nombre-del-template-a-incluir.php' ); ?&gt;
</pre>
<p>Sin embargo, si estamos en pleno proceso de elaboración de un site complejo, existe una forma más memorable que nos permite distinguir entre templates a incluir. Es la siguiente (funciona a partir de WP 2.7):</p>
<pre>
&lt;?php get_header('header-cine'); ?&gt;

&lt;?php get_sidebar('sidebar-cine'); ?&gt;

&lt;?php get_footer('footer-cine'); ?&gt;
</pre>
<p>Imaginando un site que hable sobre cine y teatro, nos podría interesar tener un header especial en el apartado de teatro, y otro distinto en el de cine. Podríamos incluso querer header, sidebar y footers distintos en cada sección del site.</p>
<p>Para jugar con esta posibilidad, podremos añadir &#8220;tags condicionales&#8221;, como aquí :</p>
<pre>
&lt;?php

if ( is_category('Cine') ) {

get_footer('footer-cine');

} elseif ( in_category('Cine') ) {

get_footer('footer-cine');

} else {

get_footer();

}

?&gt;
</pre>
<p>Si el usuario llegara a un post de la categoría &#8220;Cine&#8221;, <strong>o</strong> a un archivo de la misma, el footer que mostraremos es el que se llame footer-cine.php, y, si es cualquier otra página de nuestro site en la que el internauta aterriza, tendremos el footer normal.</p>
<img src="http://feeds.feedburner.com/~r/todowordpress/~4/cF1bpu9JImk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.todowp.org/formas-rapidas-para-incluir-templates/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.todowp.org/formas-rapidas-para-incluir-templates/</feedburner:origLink></item>
		<item>
		<title>SEO : Metadatos en el header de nuestro blog</title>
		<link>http://feeds.todowp.org/~r/todowordpress/~3/9ujuJo96_N8/</link>
		<comments>http://www.todowp.org/seo-metadatos-en-el-header-de-nuestro-blog/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 19:00:33 +0000</pubDate>
		<dc:creator>Ignacio</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Temas]]></category>
		<category><![CDATA[Trucos]]></category>
		<category><![CDATA[Metadatos]]></category>

		<guid isPermaLink="false">http://www.todowp.org/?p=2694</guid>
		<description><![CDATA[Los motores de búsqueda como Google pueden valerse, cuando se trata de mostrar a nuestro site tras una búsqueda, de la metainformación que sobre él hayamos escrito en nuestro encabezado HTML (más info, en inglés aquí).
Si abrimos el archivo header.php de nuestro tema de WordPress, encontraremos al encabezado, que se abre y cierra con los [...]]]></description>
			<content:encoded><![CDATA[<p>Los motores de búsqueda como Google pueden valerse, cuando se trata de mostrar a nuestro site tras una búsqueda, de la <a href="http://es.wikipedia.org/wiki/Metatag">metainformación</a> que sobre él hayamos escrito en nuestro encabezado HTML (más info, en inglés <a href="http://en.wikipedia.org/wiki/Meta_element">aquí</a>).</p>
<p>Si abrimos el archivo header.php de nuestro tema de WordPress, encontraremos al encabezado, que se abre y cierra con los tags &lt;head&gt; y &lt;/head&gt;.</p>
<p>Un ejemplo de metadata en el  &lt;head&gt; podría ser el siguiente :</p>
<pre>
&lt;head&gt;

&lt;title&gt;Mi Super Blog&lt;/title&gt;

&lt;meta name=&quot;author&quot; content=&quot;Ignacio&quot;&gt;
&lt;meta name=&quot;keywords&quot; content=&quot;WordPress,diseño,programación&quot;&gt;
&lt;meta name=&quot;description&quot; content=&quot;Blog dedicado a compartir ideas sobre programación con WordPress&quot;&gt;

&lt;/head&gt;
</pre>
<p>Allí siempre podremos emplazar, como un plus para los motores de búsqueda, la metadata con la que queramos describir nuestra página web, y que Google, por ejemplo, utiliza como descripción en su página de resultados de búsqueda (lo cual siempre es muy interesante a efectos de atraer a los internautas que hayan tecleado las correspondientes palabras clave).</p>
<p><span id="more-2694"></span></p>
<p>Normalmente, y por defecto, los temas de WP suelen usar la descripción del blog, descripción que se puede editar desde la Administración.</p>
<p>Los dos metatags más típicos serían el &#8220;keywords&#8221; y &#8220;<a href="http://www.google.com/support/webmasters/bin/answer.py?answer=79812">description</a>&#8220;, y ambos sirven para dar un perfil de nuestro site. Si bien Google <a href="http://googlewebmastercentral.blogspot.com/2009/09/google-does-not-use-keywords-meta-tag.html">no nos bonificará en el ranking</a> de resultados de una búsqueda por tener muchas palabras clave (aunque el debate sobre la veracidad de este dato continúa), sí que registrará nuestras descripciones.</p>
<p>Es aquí donde nos interesa mantenerlas con un contenido lo más variado posible, de modo que Google indexe cada una de nuestras páginas con una descripción no general y site-wide, sino acorde con el contenido que el internauta vaya a encontrar en cada búsqueda relativa, al entrar en nuestro site desde el buscador, atraído por un conjunto de palabras clave específicas.</p>
<p>¿Cómo disponer entonces de contenido variable en los metadatos de nuestro header? He aquí el código que necesitaremos.</p>
<p>Primero de todo, cada post debería tener un campo personalizado llamado &#8220;Metadescription&#8221;, que llenaremos con la descripción concreta que del post queramos dar a Google.</p>
<p>Luego, en el &lt;head&gt; pondremos lo siguiente :</p>
<pre>
&lt;meta name=&quot;description&quot; content=&quot;
&lt;?php if((is_home()) || (is_front_page())) {
echo bloginfo('name'); bloginfo('description');
} elseif(is_category()) {
echo category_description();
} elseif(is_tag()) {
echo 'Tag archive page for this blog - ' . single_tag_title();
} elseif(is_month()) {
echo 'Archive page for this blog - ' . the_time('F, Y');
} else {
echo get_post_meta($post-&gt;ID, 'metadescription', true);
} ?&gt;&quot; /&gt;
</pre>
<p>De este modo conseguiremos que en cada página particular de nuestro site aparezca un párrafo de metadata u otro, asegurándonos poder ofrecer más variables para el internauta que las que nos permitiría una frase constante.</p>
<p>En nuestro ejemplo tenemos :</p>
<p>- En la Home de nuestro site, aparecerá la descripción principal.<br />
- Si se trata de un archivo, la descripción de la categoría, el nombre del tag, o la fecha.<br />
- Si se trata finalmente de nuestros valiosos posts, la descripción que les hayamos otorgado en el campo personalizado &#8220;Metadescription&#8221; que os propongo crear.</p>
<img src="http://feeds.feedburner.com/~r/todowordpress/~4/9ujuJo96_N8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.todowp.org/seo-metadatos-en-el-header-de-nuestro-blog/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://www.todowp.org/seo-metadatos-en-el-header-de-nuestro-blog/</feedburner:origLink></item>
		<item>
		<title>Cómo subrayar términos de búsqueda en WordPress</title>
		<link>http://feeds.todowp.org/~r/todowordpress/~3/iwBr5N0G1jA/</link>
		<comments>http://www.todowp.org/como-subrayar-terminos-de-busqueda-en-wordpress/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 19:00:34 +0000</pubDate>
		<dc:creator>Ignacio</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Temas]]></category>
		<category><![CDATA[Trucos]]></category>
		<category><![CDATA[Búsquedas]]></category>

		<guid isPermaLink="false">http://www.todowp.org/?p=2735</guid>
		<description><![CDATA[Siempre es interesante poder ofrecer a nuestros usuarios una página de resultados de búsqueda que permita seleccionar, rápidamente, cuál es el artículo más ajustado a lo que pretenden encontrar.
Para ello, una de las posibilidades que WordPress nos brinda es la de hacer que los términos de búsqueda, que se han sometido en el formulario con [...]]]></description>
			<content:encoded><![CDATA[<p>Siempre es interesante poder ofrecer a nuestros usuarios una página de resultados de búsqueda que permita seleccionar, rápidamente, cuál es el artículo más ajustado a lo que pretenden encontrar.</p>
<p>Para ello, una de las posibilidades que WordPress nos brinda es la de hacer que los términos de búsqueda, que se han sometido en el formulario con un click, se vean resaltados en la página subsiguiente de resultados, de modo que el lector podrá percatarse del contexto inmediato en el que son usados y ganar así un poco de agilidad al navegar la página en cuestión.</p>
<p><span id="more-2735"></span></p>
<p>Para ello, deberemos en primer lugar de disponer de un archivo en el template llamado search.php.</p>
<p>search.php, que no debe tener más que lo esencial (header, loop, footer), es un template con la siguiente función: mostrar resultados de búsqueda (si no lo tenemos, y vemos que nos funcionan igual las búsquedas, es que seguramente WordPress redirige los resultados de búsqueda a index.php).</p>
<p>Atención, no lo confundamos con searchform.php, que es el template que albergará la <strong>caja de búsqueda</strong> (y que puede ser invocado desde index.php, sidebar.php o donde queramos con el tag &lt;?php get_search_form(); ?&gt; ).</p>
<p>Recordemos también que si nuestro tema acepta &#8220;Widgets&#8221;, en la pantalla de Administración correspondiente en WordPress podremos enchufar la caja de búsqueda directamente en una zona widgeteada u otra.</p>
<p>Volviendo ahora a search.php, vamos a añadir cierto código para que los artículos listados contengan los términos de búsqueda (en el título y el extracto) subrayados.</p>
<p>Sustituiremos the_title en el loop de nuestro template search.php con:</p>
<pre>
&lt;?php // highlight search terms in title
$title = get_the_title();
$keys = explode(&quot; &quot;, $s);
$title = preg_replace('/('.implode('|',$keys).')/iu','&lt;span class=&quot;search-terms&quot;&gt;&lt;/span&gt;',$title);
echo $title;
?&gt;
</pre>
<p>Aquí hemos preparado a los términos coincidentes con una clase de CSS especial, dejándonos lista la tarea de asignar para ella el color, <em>background</em> o tamaño de texto que queramos.</p>
<p>Lo mismo para los extractos, reemplazamos the_excerpt por :</p>
<pre>
&lt;?php // highlight search terms in content
$excerpt = get_the_excerpt();
$keys = explode(&quot; &quot;, $s);
$excerpt = preg_replace('/('.implode('|',$keys).')/iu','&lt;span class=&quot;search-terms&quot;&gt;&lt;/span&gt;',$excerpt);
echo $excerpt;
?&gt;
</pre>
<p>En nuestro ejemplo, la clase que asignaremos a los términos de búsqueda es .search-terms.<br />
Finalmente, nos dirigiremos a style.css y añadiremos, por ejemplo :</p>
<pre>
span.search-terms {
	background: yellow;
	font-weight: bold;
	}
</pre>
<p>Lo que nos dará un amarillo tirando a &#8220;chillón&#8221; que podremos por supuesto cambiar por <a href="http://www.w3schools.com/CSS/css_colors.asp">los colores que queramos</a>.</p>
<img src="http://feeds.feedburner.com/~r/todowordpress/~4/iwBr5N0G1jA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.todowp.org/como-subrayar-terminos-de-busqueda-en-wordpress/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://www.todowp.org/como-subrayar-terminos-de-busqueda-en-wordpress/</feedburner:origLink></item>
		<item>
		<title>Seguridad básica: instalación de WordPress</title>
		<link>http://feeds.todowp.org/~r/todowordpress/~3/bReG5ZMX5W8/</link>
		<comments>http://www.todowp.org/seguridad-basica-instalacion-de-wordpress/#comments</comments>
		<pubDate>Mon, 11 Jan 2010 19:00:39 +0000</pubDate>
		<dc:creator>Jordi Sanchez</dc:creator>
				<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[.htaccess]]></category>
		<category><![CDATA[Base de datos]]></category>
		<category><![CDATA[Búsquedas]]></category>
		<category><![CDATA[Instalación]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[wp-config.php]]></category>

		<guid isPermaLink="false">http://www.todowp.org/?p=2702</guid>
		<description><![CDATA[Hoy seguiremos nuestro tutorial sobre Seguridad en WordPress con el segundo apartado, Seguridad básica: instalación de WordPress. La instalación de WordPress es la base de nuestra seguridad y, aunque es extremadamente fácil de hacer, lo mejor es tomársela  con calma y prestar atención a todos sus detalles, que no siempre son tenidos en cuenta.

Usuario de la base [...]]]></description>
			<content:encoded><![CDATA[<p>Hoy seguiremos nuestro tutorial sobre <strong>Seguridad en WordPress </strong>con el segundo apartado, <strong>Seguridad básica: instalación de WordPress</strong>. La instalación de WordPress es la base de nuestra seguridad y, aunque es extremadamente fácil de hacer, lo mejor es tomársela  con calma y prestar atención a todos sus detalles, que no siempre son tenidos en cuenta.</p>
<ol>
<li><strong>Usuario de la base de datos</strong>: lo ideal es crear un usuario destinado exclusivamente a nuestro blog, con permisos exclusivos para trabajar con las tablas de WordPress. Es por eso que no debemos utilizar nunca el usuario <em>root</em>. En general, los <strong>permisos</strong> que daremos al usuario destinado a acceder a la base de datos de nuestro blog serán SELECT, INSERT, UPDATE, DELETE (para datos) y CREATE, ALTER, DROP (para estructuras), pudiendo descartar el CREATE y el DROP si comparte su base de datos con otros proyectos.</li>
<li><strong>Cambia el prefijo de tus tablas</strong>: WordPress por defecto utiliza <em>wp_</em> como prefijo para las tablas correspondientes a nuestro WordPress, pero siempre se debería cambiar esta opción en nuestra instalación. De esta forma alguien que quiera acceder a nuestros datos deberá conocer ese prefijo antes. Lo mejor, pues, es utilizar un prefijo aleatorio que no sea de fácil deducción.</li>
<p><span id="more-2702"></span></p>
<li><strong>Elimina los ficheros de instalación</strong>: en /wp-admin/, install.php, upgrade.php e installer-helper.php. También puedes eliminar los <strong>importadores</strong> (wp-admin/import/), que sirven para importar contenido y modifican la base de datos.</li>
<li><strong>Fichero wp-config.php</strong>: es nuestro fichero más importante para la configuración de WordPress y, por lo tanto, para nuestra seguridad. Con él conectamos a la <strong>base de datos</strong>, así que hay información confidencial. Por este motivo, tenemos que darle permisos <strong>644</strong>, es decir, tenerlo como fichero de sólo lectura.</li>
<li><strong>Cambia tu usuario Administrador</strong>. Ya tenemos nuestro WordPress instalado, es hora de configurarlo. Lo mejor es <strong>crear otro usuario</strong> para utilizarlo como administrador (puedes configurarlo desde el panel de administración) e <strong>inhabilitar</strong> (ponerlo como<em> suscriptor</em>) el administrador que nos crea nuestro WordPress.</li>
<li><strong>No utilices tu usuario de administración</strong>. Aunque lo acabemos de crear, no lo utilices. En general no necesitarás ser administrador de tu blog, sólo querrás escribir y cambiar cuatro cosas. Así que puedes <strong>crearte otro usuario </strong><em><strong>editor </strong></em><strong>o</strong><em><strong> autor</strong></em>, con tu nick y nombre, y configurarlo a tu manera para utilizarlo habitualmente para escribir. Así, si perdieras la contraseña o te la descubrieran, solamente podrían modificar unas pocas cosas de tu instalación. Puedes instalar <a href="http://www.im-web-gefunden.de/wordpress-plugins/role-manager/"><strong>Role Manager</strong></a> para marcar qué permisos quieres que tenga el usuario que utilizarás para escribir habitualmente.</li>
<li><strong>Restringe los directorios</strong> que tus usuarios no verán: wp-content, wp-includes y wp-admin son los directorios más usados por WordPress, es por eso que debemos limitar el uso de estas carpetas.  En una próxima entrada haremos especial hincapié en este punto, explicando cómo configurar nuestros archivos <strong>.htaccess</strong></li>
<li><strong>Crea un archivo en blanco</strong>: por defecto, las carpetas de plugins son completamente visibles. Si creas un documento en blanco y lo guardas allí como <strong>index.html</strong>, ya no serán tan fácilmente visibles.</li>
<li><strong>Bloquea las carpetas a los motores de búsqueda</strong>. No es necesario que los bots accedan a nuestros archivos de WordPress, así que podemos bloquearlos con el archivo robots.txt. Añade la siguiente línea: <strong>Disallow: /wp-*</strong></li>
</ol>
<p>Espero que estos consejos en la instalación os hayan servido. Si hay alguna duda, o queréis que hable sobre algún tema de seguridad concreto que no haya quedado claro, por favor, <strong>comentad</strong>.</p>
<p>Fuentes: <a href="http://www.anieto2k.com/2007/10/31/las-paginas-blancas-de-la-seguridad-wordpress/">anieto2k</a>, <a href="http://www.online-tech-tips.com/blogging/8-security-tips-and-guidelines-for-your-wordpress-blog/es/">Online Tech Tips</a>, <a href="http://sigt.net/archivo/cinco-consejos-de-seguridad-para-wordpress.xhtml">sigt</a>.</p>
<img src="http://feeds.feedburner.com/~r/todowordpress/~4/bReG5ZMX5W8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.todowp.org/seguridad-basica-instalacion-de-wordpress/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		<feedburner:origLink>http://www.todowp.org/seguridad-basica-instalacion-de-wordpress/</feedburner:origLink></item>
		<item>
		<title>Añadir automáticamente contenido a nuestro editor de posts</title>
		<link>http://feeds.todowp.org/~r/todowordpress/~3/4ex8HdvH-cw/</link>
		<comments>http://www.todowp.org/anadir-automaticamente-contenido-a-nuestro-editor-de-posts/#comments</comments>
		<pubDate>Sun, 10 Jan 2010 19:00:00 +0000</pubDate>
		<dc:creator>Ignacio</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Trucos]]></category>

		<guid isPermaLink="false">http://www.todowp.org/?p=2719</guid>
		<description><![CDATA[Si quisiéramos, al abrir nuestro editor en WordPress, disponer de un texto &#8216;prefabricado&#8217; en cada ocasión, pudiéndolo editar antes de seguir añadiendo contenido, tenemos una manera rápida de conseguirlo.
Los usos que esto puede tener son varios, por ejemplo, para disponer automáticamente de un mensaje de agradecimiento &#8220;Gracias por leer y hasta la semana que viene, [...]]]></description>
			<content:encoded><![CDATA[<p>Si quisiéramos, al abrir nuestro editor en WordPress, disponer de un texto &#8216;prefabricado&#8217; <em>en cada ocasión</em>, pudiéndolo editar antes de seguir añadiendo contenido, tenemos una manera rápida de conseguirlo.</p>
<p>Los usos que esto puede tener son varios, por ejemplo, para disponer automáticamente de un mensaje de agradecimiento &#8220;Gracias por leer y hasta la semana que viene, blogueros&#8221;:</p>
<pre>
&lt;?php // auto-insert content to post editor
function my_editor_content($content) {
$content = &quot;&lt;h5&gt;Gracias por leer y hasta la semana que viene, blogueros&lt;/h5&gt;.&quot;;
return $content;
}
add_filter('default_content', 'my_editor_content');
?&gt;
</pre>
<p>El código lo tendremos que poner en nuestro functions.php, un archivo que es parte de nuestro tema de WordPress que, si no tuviéramos, podemos crear y llamarlo así (con la extensión &#8220;.php&#8221; por supuesto).</p>
<img src="http://feeds.feedburner.com/~r/todowordpress/~4/4ex8HdvH-cw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.todowp.org/anadir-automaticamente-contenido-a-nuestro-editor-de-posts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.todowp.org/anadir-automaticamente-contenido-a-nuestro-editor-de-posts/</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic page generated in 3.988 seconds. --><!-- Cached page generated by WP-Super-Cache on 2010-02-08 20:02:42 -->
