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

<channel>
	<title>Kernel Web &#187; Tutoriales</title>
	<atom:link href="http://www.kernelweb.org/category/tutoriales/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.kernelweb.org</link>
	<description>Blogging, WordPress y Desarrollo Web</description>
	<lastBuildDate>Tue, 03 Nov 2009 21:24:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Ajustando el CSS de los nuevos comentarios de WordPress 2.7</title>
		<link>http://www.kernelweb.org/css-nuevos-comentarios-wordpress-2-7/</link>
		<comments>http://www.kernelweb.org/css-nuevos-comentarios-wordpress-2-7/#comments</comments>
		<pubDate>Thu, 03 Sep 2009 01:10:20 +0000</pubDate>
		<dc:creator>Esteban Rojas</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Comentarios]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[WordPress Rock Comments]]></category>

		<guid isPermaLink="false">http://www.kernelweb.org/?p=2223</guid>
		<description><![CDATA[En el post anterior ya vimos como crear y entender la estructura básica del comments.php; y si bien ya tenemos la armazón de nuestros comentarios, por sí sola no es nada amigable, por lo que en este artículo procederemos a darle estilo con CSS.

Para ello primero, basado en los estilos CSS de Chris Harrison, procederé a explicar cada una de las clases CSS de los nuevos comentarios de WordPress, para que tengan una noción básica de que hace cada uno.

ol.commentlist {} /* Estilos para la lista de comentarios */
ol.commentlist li {} /* CSS para cada elemento individual de la lista de comentarios */
ol.commentlist li.alt {} /* Alterna estilo de los elementos de lista */
ol.commentlist li.bypostauthor {} /* CSS para el comentario hecho por el autor de un post */
ol.commentlist li.byuser {} /* Estilos para cuando comenta un usuario registrado */
ol.commentlist li.comment {} /* Elementos individuales, el comentario en sí */
ol.commentlist li.comment div.vcard {} /* DIV que agrupa el avatar, nick y URL de cada comentario */
ol.commentlist li.comment div.vcard cite.fn {} /* Nombre del comentarista cuando este no deja URL */
ol.commentlist li.comment div.vcard cite.fn a.url {} /* Aplica cuando el comentarista deja la dirección de un sitio web */
ol.commentlist li.comment div.vcard img.avatar {} /* Para el avatar que se muestra en cada comentario */
ol.commentlist li.comment div.vcard span.says {} /* Da estilo a la frase "says" ó "dijo" en los comentarios */
ol.commentlist li.comment div.commentmetadata {} /* DIV donde se muestra la hora y fecha en la que se realizó la opinión */
ol.commentlist li.comment div.comment-meta {} /* Fecha del comentario */
ol.commentlist li.comment div.comment-meta a {} /* Lo mismo que arriba pero aplica si se muestra como enlace */
ol.commentlist li.comment * {} - (p, em, strong, blockquote, ul, ol, etc.) /* Listas, blockquotes y más en los comentarios */
ol.commentlist li.comment div.reply {} /* DIV del botón de respuesta a un comentarios especifico */
ol.commentlist li.comment div.reply a {} /* Estiliza los enlaces dentro del DIV Reply */
ol.commentlist li.comment ul.children {} /* Define la posición y otras cosas de la lista de comentarios anidados */
ol.commentlist li.comment ul.children li {} /* Para cada elemento de la lista de Child Comments */
ol.commentlist li.comment ul.children li.depth-2 {} /* Para cada nivel de anidación de comentarios */
ol.commentlist li.comment ul.children li.depth-3 {} /* Idem a arriba, tan sólo cambia el número */
ol.commentlist li.even {} /* Establece valores de las propiedades CSS de los comentarios pares */
ol.commentlist li.odd {} /* Establece valores de las propiedades CSS de los comentarios inpares  */
ol.commentlist li.parent {} /* Comentario padre de los Child Comments */
ol.commentlist li.pingback {} /* Estilo para elementos con trackbacks ó pingbacks */

Ok ya tenemos orientación, de igual forma faltan estilos para Pingbacks, no lo explico todo porque sería muy largo el post, pero siempre podrán consultar el enlace de arriba y tomar referencia de lo que ya tenemos.

No obstante la teoría no es nada si no hay un ejemplo práctico.]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">En el post anterior ya vimos <a href="http://www.kernelweb.org/diseccionando-el-comments-php-de-wordpress-2-7/">como crear y entender la estructura básica del comments.php</a>; y si bien ya tenemos la armazón de nuestros comentarios, por sí sola no es nada amigable, por lo que en este artículo procederemos a darle estilo con CSS.</p>
<p style="text-align: justify;">Para ello primero, basado en los estilos CSS de <a href="http://cdharrison.com/2008/12/threaded-comments/">Chris Harrison</a>, procederé a explicar cada una de las clases CSS de los nuevos comentarios de WordPress, para que tengan una noción básica de que hace cada uno.</p>
<pre><code>ol.commentlist {} /* Estilos para la lista de comentarios */
ol.commentlist li {} /* CSS para cada elemento individual de la lista de comentarios */
ol.commentlist li.alt {} /* Alterna estilo de los elementos de lista */
ol.commentlist li.bypostauthor {} /* CSS para el comentario hecho por el autor de un post */
ol.commentlist li.byuser {} /* Estilos para cuando comenta un usuario registrado */
ol.commentlist li.comment {} /* Elementos individuales, el comentario en sí */
ol.commentlist li.comment div.vcard {} /* DIV que agrupa el avatar, nick y URL de cada comentario */
ol.commentlist li.comment div.vcard cite.fn {} /* Nombre del comentarista cuando este no deja URL */
ol.commentlist li.comment div.vcard cite.fn a.url {} /* Aplica cuando el comentarista deja la dirección de un sitio web */
ol.commentlist li.comment div.vcard img.avatar {} /* Para el avatar que se muestra en cada comentario */
ol.commentlist li.comment div.vcard span.says {} /* Da estilo a la frase "says" ó "dijo" en los comentarios */
ol.commentlist li.comment div.commentmetadata {} /* DIV donde se muestra la hora y fecha en la que se realizó la opinión */
ol.commentlist li.comment div.comment-meta {} /* Fecha del comentario */
ol.commentlist li.comment div.comment-meta a {} /* Lo mismo que arriba pero aplica si se muestra como enlace */
ol.commentlist li.comment * {} - (p, em, strong, blockquote, ul, ol, etc.) /* Listas, blockquotes y más en los comentarios */
ol.commentlist li.comment div.reply {} /* DIV del botón de respuesta a un comentarios especifico */
ol.commentlist li.comment div.reply a {} /* Estiliza los enlaces dentro del DIV Reply */
ol.commentlist li.comment ul.children {} /* Define la posición y otras cosas de la lista de comentarios anidados */
ol.commentlist li.comment ul.children li {} /* Para cada elemento de la lista de Child Comments */
ol.commentlist li.comment ul.children li.depth-2 {} /* Para cada nivel de anidación de comentarios */
ol.commentlist li.comment ul.children li.depth-3 {} /* Idem a arriba, tan sólo cambia el número */
ol.commentlist li.even {} /* Establece valores de las propiedades CSS de los comentarios pares */
ol.commentlist li.odd {} /* Establece valores de las propiedades CSS de los comentarios inpares  */
ol.commentlist li.parent {} /* Comentario padre de los Child Comments */
ol.commentlist li.pingback {} /* Estilo para elementos con trackbacks ó pingbacks */
</code></pre>
<p style="text-align: justify;">Ok ya tenemos orientación, de igual forma faltan estilos para Pingbacks, no lo explico todo porque sería muy largo el post, pero siempre podrán consultar el enlace de arriba y tomar referencia de lo que ya tenemos.</p>
<p style="text-align: justify;">No obstante la teoría no es nada si no hay un ejemplo práctico.<span id="more-2223"></span></p>
<p style="text-align: justify;">Por lo que este es el CSS que utilizaremos para darle una fachada vistoza a nuestra armazón lograda previamente, los estilos están probados para llegar a los 6 niveles de anidación sin problema, además de ser crossbrowser&#8230; y claro que pueden modificarlos <img src='http://www.kernelweb.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  a su conveniencia.</p>
<pre><code>div#respond { margin: 20px 0 10px 0; background: #F7F7F7; border: 1px solid #CCC; padding: 10px 10px; overflow: hidden; }
div#respond textarea { background: #FFF; width: 90%!important; height: 75px; padding: 7px; color: #464646; font-family: arial; font-size: 14px; border: 1px solid #CCC; }
div.allowed-tags { width: 90%!important; font-style: italic; background: #F9F9F9; padding: 7px; font-size: 0.75em; }
div.navigation { clear: both; overflow: hidden; margin-bottom: 15px; }
p#comment-notes { padding-right: 20px; }
div.navigation a { color: #5190CE; }
div.navigation a:hover { color: #464646; }
div.navigation .alignleft { float: left; width: 50%; }
div.navigation .alignright { float: right; text-align: right; width: 50%;}
div.cancel-comment-reply { margin: 10px 0 10px 0; text-transform: capitalize;}
ol.commentlist { font-size: 1.1em; list-style:none; text-indent:0; margin:0 0 0em; padding:0; text-indent:0; }
ol.commentlist li { margin: 12px 0; background : #FFF url('images/comment_white_bg.png') repeat-x bottom; border: 1px solid #ddd; color: #B3B3B3; }
ol.commentlist li.comment { border: 1px solid #dfdfdf; background: #FDFDFD; padding: 1em; }
ol.commentlist li div.vcard cite.fn a.url { text-decoration: none; }
ol.commentlist li div.vcard img.avatar { border: 2px solid #ccc; width: 54px; height: 54px; float:left; padding: 5px; background: #fff; margin-right: 12px; }
ol.commentlist li div.comment-meta a { color: #8c8c8c; text-decoration: none;}
ol.commentlist li div.comment-meta a:hover { text-decoration: underline; }
ol.commentlist li div.vcard cite.fn a.url:hover { }
ol.commentlist li p { color: #606060; clear:both; margin: 10px 0;  text-align: justify; }
ol.commentlist li ul { list-style:square;  margin: 0 0 1em 2em; }
ol.commentlist li div.reply { text-align: right; margin: 5px; }
ol.commentlist li div.reply a { font-size: 0.815em; background: #609d1e; color: #f9f9f9; padding: 3px 7px; text-decoration: none; text-transform: capitalize;  }
ol.commentlist li div.reply a:hover { background: #464646; color: #f8f8f8; padding: 4px 7px; text-decoration: none; }
ol.commentlist li ul.children { list-style: none; margin: 1em 0 0; text-indent:0; }
ol.commentlist li ul.children li.depth-2 { background: #f3f3f3; border: 1px solid #dfdfdf; margin:0 0 10px 0; }
ol.commentlist li ul.children li.depth-3 { background: #eeeeed; border: 1px solid #dfdfdf; margin:0 0 10px 0; }
ol.commentlist li ul.children li.depth-4 { background: #e4e4e4; border: 1px solid #d4d4d4; margin:0 0 10px 0; }
ol.commentlist li ul.children li.depth-5 { background: #f3f3f3; border: 1px solid #dfdfdf; margin:0 0 10px 0; }
ol.commentlist li ul.children li.depth-6 { background: #eeeeed; border: 1px solid #dfdfdf; margin:0 0 10px 0; }
</code></pre>
<p>Si se me pasó algo no duden en aclararmelo, en el siguiente post de la serie veremos como realizar unos cuantos trucos para mejorar la interactividad del usuario.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kernelweb.org/css-nuevos-comentarios-wordpress-2-7/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Diseccionando el comments.php de WordPress 2.7</title>
		<link>http://www.kernelweb.org/diseccionando-el-comments-php-de-wordpress-2-7/</link>
		<comments>http://www.kernelweb.org/diseccionando-el-comments-php-de-wordpress-2-7/#comments</comments>
		<pubDate>Tue, 25 Aug 2009 01:35:32 +0000</pubDate>
		<dc:creator>Esteban Rojas</dc:creator>
				<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Comentarios]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[WordPress Rock Comments]]></category>

		<guid isPermaLink="false">http://www.kernelweb.org/?p=1619</guid>
		<description><![CDATA[Adaptar los comentarios de un theme a la nueva versión de WordPress puede parecer complicado,  sobretodo porque a partir de la versión 2.7 la estructura es un poco más compleja y diferente.

Sin embargo luego te das cuenta que comments.php es bastante versátil y fácil de entender.threated-comments-wordpress

Pero  si no quieres gastar ese tiempo en estudiar dicho archivo, en Kernel Web te ahorramos el trabajo.

Ya que  a partir de este y otros artículos intentaré hacer una serie de tutoriales para entender, adaptar y ¿por qué no? modificar el comments.php de WordPress.

En este post, las partes comunes del nuevo archivo de comentarios de WP,  puede variar dependiendo el theme.
Previeniendo el acceso directo a comments.php

<?php /* Comentarios anidados, paginados y comentados por Kernel Web! */ ?>
			<div id="comments_wrapper">
<?php // No borres esto, previene el acceso directo al archivo comments.php y checa si un post tiene contraseña
    if (!empty($_SERVER['SCRIPT_FILENAME']) &#038;& 'comments.php' == basename($_SERVER['SCRIPT_FILENAME']))
        die ('Por favor no cargues esta pagina directamente. Gracias!')

Estas líneas  son las que se encargan de la seguridad de nuestro archivo, previenen el acceso directo a comments.php para que si por error alguien intentase acceder directamente se le muestre un mensaje de error.]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Adaptar los comentarios de un theme a la nueva versión de WordPress puede parecer complicado,  sobretodo porque a partir de la versión 2.7 la estructura es un poco más compleja y diferente.</p>
<p style="text-align: justify;">Sin embargo luego te das cuenta que comments.php es bastante versátil y fácil de entender.<img class="alignright size-medium wp-image-2215" title="threated-comments-wordpress" src="http://www.kernelweb.org/wp-content/uploads/2009/08/threated-comments-wordpress-300x253.jpg" alt="threated-comments-wordpress" width="300" height="253" /></p>
<p style="text-align: justify;">Pero  si no quieres gastar ese tiempo en estudiar dicho archivo, en Kernel Web te ahorramos el trabajo.</p>
<p style="text-align: justify;">Ya que  a partir de este y otros artículos intentaré hacer una serie de tutoriales para entender, adaptar y ¿por qué no? modificar el comments.php de WordPress.</p>
<p style="text-align: justify;">En este post, las partes comunes del nuevo archivo de comentarios de WP,  puede variar dependiendo el theme.</p>
<h2>Previeniendo el acceso directo a comments.php</h2>
<pre><code>&lt;?php /* Comentarios anidados, paginados y comentados por Kernel Web! */ ?&gt;
			&lt;div id="comments_wrapper"&gt;
&lt;?php // No borres esto, previene el acceso directo al archivo comments.php y checa si un post tiene contraseña
    if (!empty($_SERVER['SCRIPT_FILENAME']) &amp;&amp; 'comments.php' == basename($_SERVER['SCRIPT_FILENAME']))
        die ('Por favor no cargues esta pagina directamente. Gracias!')</code></pre>
<p style="text-align: justify;">Estas líneas  son las que se encargan de la seguridad de nuestro archivo, previenen el acceso directo a comments.php para que si por error alguien intentase acceder directamente se le muestre un mensaje de error.<span id="more-1619"></span></p>
<h2>Si es necesaria una contraseña para ver y comentar</h2>
<pre><code>    if ( post_password_required() ) { ?&gt;
         &lt;p class="nocomments"&gt;Este post esta protegido, por favor
         introduce tu contraseña o password para verlo.&lt;/p&gt;
    &lt;?php
       return;
    }
 ?&gt;</code></pre>
<p>Debido a que WP tiene la opción de proteger posts con contraseña, este snippet es el que se encarga de efectuar la comprobación de si un post tiene esta característica y si es así desplegar el mensaje designado.</p>
<h2>Contandolos y mostrando un mensaje para los usuarios</h2>
<pre><code> &lt;?php if ( have_comments() ) : /* Checa si el post tiene comentarios */ ?&gt;
      &lt;h3&gt;&lt;?php comments_number('0 comentarios, se el primero en opinar',
      '1 comentario, deja el tuyo', '% comentarios, deja tambien el tuyo');?&gt;
      en &amp;#8220;&lt;?php the_title();?&gt;&amp;#8221;&lt;/h3&gt;</code></pre>
<p>Una condicional que detecta si hay comentarios y desplega el número de opiniones vertidas en cada post.</p>
<h2>Paginandolos</h2>
<pre>  <code>    &lt;div class="navigation"&gt;
          &lt;div class="alignleft"&gt;&lt;?php previous_comments_link(</code>'« Comentarios Previos'<code>) ?&gt;&lt;/div&gt;
          &lt;div class="alignright"&gt;&lt;?php next_comments_link(</code>'Comentarios Siguientes »'<code>) ?&gt;&lt;/div&gt;
      &lt;/div&gt;</code></pre>
<p style="text-align: justify;">La páginación de comentarios, este código lo pueden poner en varios sitios del fichero, de todas formas su tarea seguirá siendo la misma, <strong>paginar los comentarios</strong>, el mensaje a mostrar lo pueden personalizar (Comentarios Previos, etc.) .</p>
<h2>Listando los comentarios</h2>
<pre><code> &lt;?php /* Una lista de nuestros comentarios que pueden personalizar con la función callback en functions.php */ ?&gt;
      &lt;ol class="commentlist"&gt;
      &lt;?php wp_list_comments(); ?&gt;
      &lt;/ol&gt;</code></pre>
<p style="text-align: justify;">El nuevo loop para comentarios, practicamente el motor y responsable de que magicamente los comentarios tengan tantas caracteristicas cool, existen varios parametros que se le pueden añadir para modificar la salida de estos al igual que la estructura usando la función Callback.</p>
<h2>Mis comentarios están ¿abiertos o cerrados?</h2>
<pre><code>&lt;?php else : /* Esto se muestra si todavia no hay comentarios en la entrada */ ?&gt;
    &lt;?php if ('open' == $post-&gt;comment_status) : ?&gt;

	&lt;?php else : /* Si los comentarios estan cerrados se mostrara el siguiente mensaje */ ?&gt;
        &lt;p class="nocomments"&gt;Los comentarios estan cerrados, disculpa las molestias.&lt;/p&gt;
    &lt;?php endif; ?&gt;
&lt;?php endif; ?&gt;

&lt;?php /* Si los comentarios estan abiertos se contruye el formulario para comentar */ ?&gt;
&lt;?php if ('open' == $post-&gt;comment_status) : ?&gt;</code></pre>
<h2>Un mensaje para cada ocasión</h2>
<pre><code>&lt;div id="respond"&gt;
&lt;h3&gt;&lt;?php comment_form_title( 'Deja tu opinion', 'En respuesta a %s'); ?&gt;&lt;/h3&gt;</code></pre>
<p style="text-align: justify;">El mensaje del formulario: el primero es que el que se le muestra al usuario por default y el segundo se visualiza cuando se responde a alguien gracias a la función <code>comment_reply_link()</code>.</p>
<pre><code>&lt;div id="cancel-comment-reply"&gt;
   &lt;small&gt;&lt;?php cancel_comment_reply_link(); ?&gt;&lt;/small&gt;
&lt;/div&gt;</code></pre>
<p style="text-align: justify;">El enlace para cancelar la repuesta a un comentario usando replytocom.</p>
<pre><code>&lt;?php if ( get_option('comment_registration') &amp;&amp; !$user_ID ) : ?&gt;
&lt;p class="user_register"&gt;Tu debes estar &lt;a href="&lt;?php echo get_option('siteurl'); ?&gt;/wp-login.php?redirect_to=&lt;?php echo
urlencode(get_permalink()); ?&gt;"&gt;registrado&lt;/a&gt; para comentar en este post.&lt;/p&gt;</code></pre>
<p style="text-align: justify;">Si en tu blog tienes activada la opción de registro para comentar, es el mensaje que se le despliega a alguien que quiera comentar y no esta registrado, personalmente no uso esto, un blog debe ser abierto y para todos <img src='http://www.kernelweb.org/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  a que sí.</p>
<pre><code>&lt;?php else : ?&gt;
&lt;form id="commentform" action="&lt;?php echo get_option('siteurl'); ?&gt;/wp-comments-post.php" method="post"&gt;

&lt;?php if ( $user_ID ) : ?&gt;
&lt;p id="user_conect"&gt;Conectado como &lt;a href="&lt;?php echo get_option('siteurl'); ?&gt;/wp-admin/profile.php"&gt;&lt;?php echo $user_identity; ?&gt;&lt;/a&gt;.
&lt;a href="&lt;?php echo wp_logout_url(get_permalink()); ?&gt;" title="Salir de esta cuenta"&gt;Desconectar &amp;raquo;&lt;/a&gt;&lt;/p&gt;</code></pre>
<p style="text-align: justify;">Si un administrador o autor en el blog esta conectado se le muestra el mensaje de arriba si por el contrario el que esta leyendo el blog es un lector se le mostrará lo de abajo:</p>
<h2 style="text-align: justify;">El Formulario de Comentarios</h2>
<pre><code>&lt;?php else : ?&gt;
&lt;p id="comment-notes"&gt;&lt;?php _e('Los datos como tu Email &lt;em&gt;nunca&lt;/em&gt; seran
publicados ni compartidos con nadie.') ?&gt;
&lt;?php if ($req) _e('Los campos requeridos estan marcados con &lt;span&gt;*&lt;/span&gt;') ?&gt;&lt;/p&gt;

&lt;p&gt;&lt;input type="text" name="author" id="author" class="text" value="&lt;?php echo $comment_author; ?&gt;" size="22" tabindex="1" /&gt;
&lt;label for="author"&gt;&lt;small&gt;Nombre &lt;?php if ($req) _e('&lt;span&gt;*&lt;/span&gt;') ?&gt;&lt;/small&gt;&lt;/label&gt;&lt;/p&gt;

&lt;p&gt;&lt;input type="text" name="email" id="email" class="text" value="&lt;?php echo $comment_author_email; ?&gt;" size="22" tabindex="2" /&gt;
&lt;label for="email"&gt;&lt;small&gt;Mail &lt;?php if ($req) _e('&lt;span&gt;*&lt;/span&gt;') ?&gt;&lt;/small&gt;&lt;/label&gt;&lt;/p&gt;

&lt;p&gt;&lt;input type="text" name="url" id="url" class="text" value="&lt;?php echo $comment_author_url; ?&gt;" size="22" tabindex="3" /&gt;
&lt;label for="url"&gt;&lt;small&gt;Sitio Web&lt;/small&gt;&lt;/label&gt;&lt;/p&gt;
&lt;?php endif; ?&gt;

&lt;div class="allowed-tags"&gt;
&lt;p&gt;&lt;span&gt;&lt;?php _e('Puedes usar algo de HTML:') ?&gt;&lt;/span&gt;
&lt;code&gt;&lt;?php echo allowed_tags(); ?&gt;&lt;/code&gt;&lt;/p&gt;
&lt;/div&gt;&lt;!-- .allowed-tags --&gt;

&lt;p&gt;&lt;textarea name="comment" id="comment" cols="100%" rows="10" tabindex="4"&gt;&lt;/textarea&gt;&lt;/p&gt;
&lt;?php do_action('comment_form', $post-&gt;ID); /* Hook de WP para añadir campos adicionales u ocultos al formulario */ ?&gt;
&lt;p&gt;&lt;input name="submit" type="submit" id="submit" class="button" tabindex="5" value="Envia tu comentario" /&gt;
&lt;?php comment_id_fields(); /* Genera los campos ocultos necesarios para comentarios anidados */ ?&gt;
&lt;/p&gt;
</code></pre>
<p style="text-align: justify;">Si bien algunas funciones ya están comentadas en el snippet, cabe aclarar que en este ejemplo he agregado la lista de tags HTML que pueden usar los usuarios en los comentarios.</p>
<p style="text-align: justify;">Las famosas allowed tags:  <code>&lt;?php echo allowed_tags(); ?&gt;</code> de igual forma si no les gusta pueden desaparecerlas borrando el DIV del mismo nombre de principio a fin.</p>
<pre><code>&lt;/form&gt;&lt;!-- #commentform --&gt;
&lt;?php endif; /* if ( get_option('comment_registration') &amp;&amp; !$user_ID ) */ ?&gt;
&lt;/div&gt;&lt;!-- #respond --&gt;
&lt;?php endif; /* if ( 'open' == $post-&gt;comment_status ) */ ?&gt;
&lt;/div&gt;&lt;!-- #comments_wrapper --&gt;		

&lt;!-- FIN DE LOS COMENTARIOS, DISFRUTA DE TUS COMENTARIOS ADAPTADOS A WP 2.7 --&gt;
</code></pre>
<p style="text-align: justify;">Cerramos condicionales, DIVs y listo!  comentarios actualizados a la nueva versión y 100% validos, que los difruten, si se preguntan por el CSS, lo verán en la siguiente entrada de la serie <img src='http://www.kernelweb.org/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  cualquier duda son libres de comentar.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kernelweb.org/diseccionando-el-comments-php-de-wordpress-2-7/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>3 tecnicas para hacer tu sidebar WordPress unica</title>
		<link>http://www.kernelweb.org/3-tecnicas-para-hacer-tu-sidebar-wordpress-unica/</link>
		<comments>http://www.kernelweb.org/3-tecnicas-para-hacer-tu-sidebar-wordpress-unica/#comments</comments>
		<pubDate>Thu, 06 Aug 2009 19:18:09 +0000</pubDate>
		<dc:creator>Esteban Rojas</dc:creator>
				<category><![CDATA[Jquery]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Diseño]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.kernelweb.org/?p=2148</guid>
		<description><![CDATA[La sidebar sin duda es la zona mas versatil y llamativa de cualquier theme WordPress y donde podemos expresar toda nuestra creatividad, sin olvidarnos de la usabilidad claro esta. Es por ello que hoy les presento 3 tecnicas para que puedan crear en su actual o futuro theme WordPress una sidebar única y darle a [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">La sidebar sin duda es la zona mas versatil y llamativa de cualquier theme WordPress y donde podemos expresar toda nuestra creatividad, sin olvidarnos de la usabilidad claro esta.</p>
<p style="text-align: justify;">Es por ello que hoy les presento 3 tecnicas para que puedan <strong>crear en su actual o futuro theme WordPress una sidebar única</strong> y darle a su proyecto un aire fresco en su diseño:</p>
<h2>Crear un Dropdown Blogroll sin Javascript</h2>
<p style="text-align: center;"><a href="http://www.kernelweb.org/wp-content/uploads/2009/08/blogrolldrop.png"><img class="size-medium wp-image-2149 aligncenter" title="blogrolldrop" src="http://www.kernelweb.org/wp-content/uploads/2009/08/blogrolldrop-300x77.png" alt="blogrolldrop" width="386" height="99" /></a></p>
<p style="text-align: justify;">Idea de Michael Martin, gran diseñador y blogger de Pro Blog Design, es un tecnica que usa CSS para crear un <a href="http://www.problogdesign.com/wordpress/how-to-create-a-beautiful-dropdown-blogroll-without-javascript/">bello dropdown blogroll</a> sin necesidad de JavaScript.</p>
<h2>Posts Recientes con efecto Newsticker</h2>
<p><a href="http://www.kernelweb.org/wp-content/uploads/2009/08/newsticker.jpg"><img class="aligncenter size-medium wp-image-2150" title="newsticker" src="http://www.kernelweb.org/wp-content/uploads/2009/08/newsticker-300x114.jpg" alt="newsticker" width="368" height="123" /></a></p>
<p>Hace un tiempo escribí al menos 3 formas para mostrar posts recientes en WordPress con PHP, sin embargo si lo suyo es ser más dinámicos y lo estático les aburre desde PVM Garage, gran blog que vengo siguiendo hace un tiempo y que recomiendo, nos acercan un método que usa Jquery para <a href="http://www.pvmgarage.com/2009/06/mostrare-gli-articoli-recenti-con-effetto-newsticker-nella-sidebar-di-wordpress/">crear un efecto newsticker e implementarlo a nuestros posts recientes</a>, de modo que estos roten de abajo para arriba cada corto tiempo.</p>
<h2>Mostrar y esconder Widgets con Jquery</h2>
<p><a href="http://www.kernelweb.org/wp-content/uploads/2009/08/hidden-widget.png"><img class="aligncenter size-medium wp-image-2151" title="hidden-widget" src="http://www.kernelweb.org/wp-content/uploads/2009/08/hidden-widget-300x84.png" alt="hidden-widget" width="359" height="100" /></a></p>
<p>Tiene un tiempo pero no por eso deja de ser asombroso; Austin de WPCult nos muestra como usar Jquery para <a href="http://wpcult.com/how-to-showhide-a-widget-in-wordpress-with-jquery/">esconder o mostrar los widgets de la sidebar</a> a pedido de los visitante y un click de distancia, inperdible, yo ya estoy pensando en implementar algunas en <a href="http://www.kernelweb.org/">Kernel Web</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kernelweb.org/3-tecnicas-para-hacer-tu-sidebar-wordpress-unica/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Como Construir una Author Box en WordPress</title>
		<link>http://www.kernelweb.org/como-construir-una-author-box-en-wordpress/</link>
		<comments>http://www.kernelweb.org/como-construir-una-author-box-en-wordpress/#comments</comments>
		<pubDate>Mon, 27 Jul 2009 21:02:48 +0000</pubDate>
		<dc:creator>Esteban Rojas</dc:creator>
				<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Themes WordPress]]></category>

		<guid isPermaLink="false">http://www.kernelweb.org/?p=2112</guid>
		<description><![CDATA[Cuando se tiene un blog con multiples escritores ya sea a pago o como colaboradores, una buena forma de agradecer el contenido que aportan estos es mostrar los datos (blog, avatar, que hacen, quienes son) de los autores del blog en sus posts mediante una Author Box.

authorwp

Una caracteristica que ya es casi un estandar en los themes premium, pero que pasa si tú no tienes un theme de este tipo y quieres hacer lo mismo, a continuación la forma de insertar una Author Box en tu theme WordPress:
Creando la Author Box

Sinceramente tengo que decir que aquí varia de acuerdo a la versión de WordPress que uses, debido a las Template Tags que van añadiendo con cada actualización, si usas una versión vieja de WP (2.7 para abajo) esta es la forma de hacerlo:

<div id="authorbox">
<?php if (function_exists('get_avatar')) { echo get_avatar( get_the_author_email(), '70' ); }?>
<div class="authortext">
<h4>Escrito por <?php the_author_posts_link(); ?></h4>
<p><?php the_author_description(); ?></p>
</div>
</div>

Si en cambio estas al dia con tu instalación, vamos, tienes instalada la versión 2.8 para arriba, puedes utilizar el código que yo uso, de esta forma:]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Cuando se tiene un blog con multiples escritores ya sea a pago o como colaboradores, una buena forma de agradecer el contenido que aportan estos es <strong>mostrar los datos (blog, avatar, que hacen, quienes son) de los autores del blog </strong>en sus posts mediante una Author Box.</p>
<p style="text-align: justify;"><a href="http://www.kernelweb.org/wp-content/uploads/2009/07/authorwp.JPG"><img class="aligncenter size-full wp-image-2117" title="authorwp" src="http://www.kernelweb.org/wp-content/uploads/2009/07/authorwp.JPG" alt="authorwp" width="524" height="131" /></a></p>
<p>Una caracteristica que ya es casi un estandar en los themes premium, pero que pasa si tú no tienes un theme de este tipo y quieres hacer lo mismo, a continuación la forma de insertar una Author Box en tu theme WordPress:</p>
<h2>Creando la Author Box</h2>
<p style="text-align: justify;">Sinceramente tengo que decir que aquí varia de acuerdo a la versión de WordPress que uses, debido a las Template Tags que van añadiendo con cada actualización, si usas una versión vieja de WP (2.7 para abajo) esta es la forma de hacerlo:</p>
<pre><code>&lt;div id="authorbox"&gt;
&lt;?php if (function_exists('get_avatar')) { echo get_avatar( get_the_author_email(), '70' ); }?&gt;
&lt;div class="authortext"&gt;
&lt;h4&gt;Escrito por &lt;?php the_author_posts_link(); ?&gt;&lt;/h4&gt;
&lt;p&gt;&lt;?php the_author_description(); ?&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;</code></pre>
<p style="text-align: justify;">Si en cambio estas al dia con tu instalación, vamos, tienes instalada la versión 2.8 para arriba, puedes utilizar el código que yo uso, de esta forma:<span id="more-2112"></span></p>
<pre><code>&lt;div id="authorbox"&gt;
&lt;?php if (function_exists('get_avatar')) { echo get_avatar( get_the_author_email(), '70' ); }?&gt;
&lt;div class=authortext"&gt;
&lt;h4&gt;Escrito por &lt;a href="&lt;?php the_author_meta('user_url'); ?&gt;"&gt;&lt;?php the_author_meta('display_name'); ?&gt;&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;&lt;?php the_author_meta('description'); ?&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;</code></pre>
<p style="text-align: justify;">Veran que sólo cambian las Template Tags, pero si no usas el método de acuerdo a tu instalación esto hará que desaparezca parte de tu blog al cortarse la ejecución de código en tu template.</p>
<h2>Estilizando la Caja de Autor con CSS</h2>
<p>Bueno ya esta puesto el armazón vamos a ponerle una bonita fachada d esta forma, el CSS que pondré es el que yo uso con Renovatio, pero ustedes pueden modificarlo a sus necesidades:</p>
<pre><code>/* Estilos CSS para su Caja de Autor */
#authorbox{ background: #EFEFEF; border: 1px solid #CECFD0; width: 560px; margin: 0 auto; margin: 10px 0 10px 0; overflow:hidden; min-height: 115px; height: auto !important; height: 115px; }
#authorbox h4{ font-size: 16px; color: #191919; margin:0; padding: 10px 10px 5px 10px; }
.authortext{ padding: 0 20px 0 100px; }
#authorbox img{ margin: 10px; padding: 0px; float: left; border: 5px solid #ccc; }
#authorbox p{ color: #191919; margin: 0; padding: 0px 10px 10px 10px; }
#authorbox p a { color: #191919; }
</code></pre>
<p style="text-align: justify;">Listo eso es todo, no obstante si quieres algo más completo echale un vistazo a la  <a href="http://buildinternet.com/2009/06/displaying-author-meta-information-in-wordpress-2-8/">Author Meta Tag de WP</a>, y puedes implementar más información mediante parrafos dandoles una clase y luego alinearlos con CSS o separando los datos mediante la etiqueta &amp;nbsb, por cierto el demo del resultado de este tutorial pueden verlo abajo <img src='http://www.kernelweb.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  de este post.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kernelweb.org/como-construir-una-author-box-en-wordpress/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Principios y tips para un CSS optimizado</title>
		<link>http://www.kernelweb.org/principios-y-tips-para-un-css-optimizado/</link>
		<comments>http://www.kernelweb.org/principios-y-tips-para-un-css-optimizado/#comments</comments>
		<pubDate>Mon, 13 Jul 2009 20:41:22 +0000</pubDate>
		<dc:creator>Esteban Rojas</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[Webmasters]]></category>
		<category><![CDATA[optimizar]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.kernelweb.org/?p=2095</guid>
		<description><![CDATA[Sin duda lo que le da belleza a la web es el CSS, no obstante aprender el lenguaje suele ser difícil, en primera porque es un mundo y en segunda cssquickporque no basta con saber las propiedades, hay que saber optimizar y escribir correctamente tus style.css.

Y aunque no me considero un experto en el tema, tengo unos cuantos consejos, técnicas y trucos CSS que he ido guardando a lo largo del tiempo, mismas que comparto a continuación:
Trabaja por secciones

Ejemplo aplicado al style.css de un theme WordPress, divide tu hoja en secciones: Estilos Globales o Generales, del Contenedor principal, Sidebar...

/* Global */
body { font: 14px/1.6 Arial, Helvetica, Verdana, sans-serif; }
/*Area de Contenido */
#wrap-post { width: 600 px;  float: left; }

CSS Shorthand, el mejor amigo de tu hoja estilos.

El principio básico del asunto según la W3C es que CSS esta compuesto por 2 cosas: un selector y una declaración y en cada declaración hay una propiedad y un valor, basandonos en esto los shorthands serían propiedades con valores condensados o comprimidos, ejemplo práctico:]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Sin duda lo que le da belleza a la web es el CSS, no obstante aprender el lenguaje suele ser difícil, en primera porque es un mundo y en segunda <a href="http://www.kernelweb.org/wp-content/uploads/2009/07/cssquick.png"><img class="alignright size-thumbnail wp-image-2105" title="cssquick" src="http://www.kernelweb.org/wp-content/uploads/2009/07/cssquick-150x150.png" alt="cssquick" width="150" height="150" /></a>porque no basta con saber las propiedades, hay que saber optimizar y escribir correctamente tus style.css.</p>
<p style="text-align: justify;">Y aunque no me considero un experto en el tema, tengo unos cuantos <strong>consejos, técnicas y trucos CSS</strong> que he ido guardando a lo largo del tiempo, mismas que comparto a continuación:</p>
<h2>Trabaja por secciones</h2>
<p>Ejemplo aplicado al style.css de un theme WordPress, divide tu hoja en secciones: Estilos Globales o Generales, del Contenedor principal, Sidebar&#8230;</p>
<pre><code>/* Global */
body { font: 14px/1.6 Arial, Helvetica, Verdana, sans-serif; }
/*Area de Contenido */
#wrap-post { width: 600 px;  float: left; }</code></pre>
<h2>CSS Shorthand, el mejor amigo de tu hoja estilos.</h2>
<p style="text-align: justify;">El principio básico del asunto según la W3C es que <strong>CSS esta compuesto por 2 cosas: un selector y una declaración</strong> y en cada declaración hay una propiedad y un valor, basandonos en esto los shorthands serían propiedades con valores condensados o comprimidos, ejemplo práctico:<span id="more-2095"></span></p>
<pre><code>/* Propiedad margin sin shorthand */

.elemento {
        margin-top: 10px;
        margin-bottom: 20px;
        margin-left: 10px;
        margin-right: 5px;
}</code></pre>
<pre><code>/* Propiedad margin usando shorthand */
.elemento { margin: 10px 5px 20px 10px; } </code></pre>
<p>Para entender mejor esto, les recomiendo leer la <a href="http://www.dustindiaz.com/css-shorthand/">Guía del CSS Shorthand</a>.</p>
<h2>Agrupa selectores</h2>
<p>Tienes 2 o más selectores y las mismas reglas, no escribas lo mismo 2 veces.</p>
<pre><code>.bloque { background: #FFF; padding: 15px; margin-top: 10px; }
.articulo { background: #FFF; padding: 15px; margin-top: 10px; }</code></pre>
<p>Agrupalos de esta forma:</p>
<pre><code>.bloque, .articulo { background: #FFF; padding: 15px; margin-top: 10px; }</code></pre>
<h2>Menos espacio es igual a más rápido.</h2>
<p><strong>La optimización del CSS apunta a la compresion de éste</strong>, entre menos espacio hay entre tus selectores, más rápido cargará el navegador tu página. Por ende es mejor escribir las declaraciones como lo hice en el anterior ejemplo, sin espacios en blanco.</p>
<p>Espero que esta serie de tips te ayude a escribir hojas de estilo más optimizadas.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kernelweb.org/principios-y-tips-para-un-css-optimizado/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Mostrar posts recientes en WordPress</title>
		<link>http://www.kernelweb.org/mostrar-posts-recientes-en-wordpress/</link>
		<comments>http://www.kernelweb.org/mostrar-posts-recientes-en-wordpress/#comments</comments>
		<pubDate>Sat, 27 Jun 2009 21:02:01 +0000</pubDate>
		<dc:creator>Esteban Rojas</dc:creator>
				<category><![CDATA[Debugueando]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Diseño]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[WordPress Hacks]]></category>

		<guid isPermaLink="false">http://www.kernelweb.org/?p=2011</guid>
		<description><![CDATA[Bueno como comentaba en el anterior artículo, el hacer el theme me dio algunas ideas para realizar un par de artículos y una de ellas fue esta, el publicar algunos hacks y trucos para WordPress periodicamente para que todos puedan mejorar su theme. Sin más que decir allí les va el primero Listar los posts [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Bueno como comentaba en el anterior artículo, el hacer el theme me dio algunas ideas para realizar un par de artículos y una de ellas fue esta, el publicar algunos <strong>hacks y trucos para WordPress</strong> periodicamente para que todos puedan mejorar su theme.</p>
<p>Sin más que decir allí les va el primero</p>
<h2>Listar los posts más recientes del blog en WordPress</h2>
<p>Para hacerlo hay varias formas, podemos poner:</p>
<pre><code>&lt;ul&gt;
&lt;?php $lastposts = get_posts('numberposts=5');
foreach($lastposts as $post) : setup_postdata($post); ?&gt;
&lt;li&gt;
&lt;a href="&lt;?php the_permalink(); ?&gt;" id="post-&lt;?php the_ID(); ?&gt;"&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;&lt;/li&gt;
&lt;?php endforeach; ?&gt;
&lt;/ul&gt;</code></pre>
<p>O recurrir a usar la función <code>wp_get_archives</code> un poco personalizada de esta forma:</p>
<pre><code>&lt;?php wp_get_archives('type=postbypost&amp;limit=20'); ?&gt;</code></pre>
<p>Incluso podemos usar la función <code>query_posts()</code> para mostrarlos de esta forma:</p>
<pre><code>&lt;ul&gt;
&lt;?php query_posts('showposts=7'); ?&gt;
&lt;?php while (have_posts()) : the_post(); ?&gt;
&lt;li&gt;&lt;a href="&lt;?php the_permalink() ?&gt;" title="&lt;?php the_title(); ?&gt;"&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;&lt;/li&gt;
&lt;?php endwhile; ?&gt;
&lt;/ul&gt;</code></pre>
<p style="text-align: justify;">En todo caso cualquiera desplegará un resultado igual, despues sólo queda jugar con el CSS y hacer que luzca como deseemos, aunque en lo personal siempre prefiero el primero sobre los demás.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kernelweb.org/mostrar-posts-recientes-en-wordpress/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Titulos SEO en WordPress sin usar plugin</title>
		<link>http://www.kernelweb.org/titulos-seo-en-wordpress-sin-usar-plugin/</link>
		<comments>http://www.kernelweb.org/titulos-seo-en-wordpress-sin-usar-plugin/#comments</comments>
		<pubDate>Sun, 14 Jun 2009 02:42:52 +0000</pubDate>
		<dc:creator>Esteban Rojas</dc:creator>
				<category><![CDATA[Debugueando]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Seo]]></category>
		<category><![CDATA[Themes WordPress]]></category>
		<category><![CDATA[WordPress Hacks]]></category>

		<guid isPermaLink="false">http://www.kernelweb.org/?p=1846</guid>
		<description><![CDATA[Si cualquiera de nosotros tiene un blog no es raro que sepan que es la palabra SEO o incluso sepan aplicarlo a su sitio, personalmente no me mata el hecho de posicionar mis blogs, pero tener lo básico siempre viene bien.

Sobre todo en el caso de los permalinks y los títulos en WordPress, puesto que son las 2 cosas que visualizan primero las arañas de los buscadores.

SEO fácil para WordPress
    SEO fácil para WordPress

He de decir que aunque he encontrado ya algunas soluciones en la cuestión de los títulos (las descripciones que el navegador muestra por cada página de tu sitio) ninguna me convenció del todo y por eso me puse a buscar una solución propia para esto, misma que comparto a continuación:

Basta con encontrar este código en el archivo header.php de su theme, el cual es la estructura de título que trae la mayoría de themes por default:



Luego lo sustituiremos por este:

<title>
<?php if ( is_home() ) { ?><?php bloginfo('name'); ?>&#160;&#124;&#160;<?php bloginfo('description'); ?><?php } ?>
<?php if ( is_search() ) { ?><?php /* Contador de Resultados */ $allsearch = &#038;new WP_Query("s=$s&#038;showposts=-1"); $count = $allsearch->post_count; _e('');
echo $count . ' '; _e('resultados'); wp_reset_query(); ?> para la búsqueda: <?php $allsearch = &#038;new WP_Query("s=$s&#038;showposts=-1"); $key = wp_specialchars($s, 1);
echo $key; _e(); ?>&#160;&#124;&#160;<?php bloginfo('name'); ?><?php } ?>
<?php if ( is_author() ) { ?>Archivos del Autor&#160;&#124;&#160;<?php bloginfo('name'); ?><?php } ?>
<?php if ( is_single() ) { ?><?php wp_title(''); ?>&#160;&#124;&#160;<?php bloginfo('name'); ?><?php } ?>
<?php if ( is_page() ) { ?><?php wp_title(''); ?>&#160;&#124;&#160;<?php bloginfo('name'); ?><?php } ?>
<?php if ( is_category() ) { ?><?php single_cat_title(); ?>&#160;en&#160;<?php bloginfo('name'); ?><?php } ?>
<?php if ( is_month() ) { ?>Archivo de&#160;<?php the_time('F'); ?>&#160;&#124;&#160;<?php bloginfo('name'); ?><?php } ?>
<?php if (function_exists('is_tag')) { if ( is_tag() ) { ?><?php  single_tag_title("", true); } } ?>
</title>

¿Que acabamos de hacer?, vamos con la explicación de cada código les parece:]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Si cualquiera de nosotros tiene un blog no es raro que sepan que es la palabra SEO o incluso sepan aplicarlo a su sitio, personalmente no me mata el hecho de posicionar mis blogs, pero tener lo básico siempre viene bien.</p>
<p style="text-align: justify;">Sobre todo en el caso de los <strong>permalinks</strong> y los <strong>títulos en WordPress</strong>, puesto que son las 2 cosas que visualizan primero las arañas de los buscadores.</p>
<div id="attachment_1851" class="wp-caption aligncenter" style="width: 356px"><img class="size-medium wp-image-1851" title="seo-wordpress" src="http://www.kernelweb.org/wp-content/uploads/2009/05/seo-wordpress-300x114.jpg" alt="SEO fácil para WordPress" width="346" height="124" /><p class="wp-caption-text">SEO fácil para WordPress</p></div>
<p style="text-align: justify;">He de decir que aunque he encontrado ya algunas soluciones en la cuestión de los títulos (las descripciones que el navegador muestra por cada página de tu sitio) ninguna me convenció del todo y por eso me puse a buscar una solución propia para esto, misma que comparto a continuación:</p>
<p style="text-align: justify;">Basta con encontrar este código en el archivo header.php de su theme, el cual es la estructura de título que trae la mayoría de themes por default:</p>
<pre><code>&lt;title&gt;&lt;?php wp_title('&amp;laquo;', true, 'right'); ?&gt; &lt;?php bloginfo('name'); ?&gt;&lt;/title&gt;</code></pre>
<p>Luego lo sustituiremos por este:</p>
<pre><code>&lt;title&gt;
&lt;?php if ( is_home() ) { ?&gt;&lt;?php bloginfo('name'); ?&gt;&amp;nbsp;|&amp;nbsp;&lt;?php bloginfo('description'); ?&gt;&lt;?php } ?&gt;
&lt;?php if ( is_search() ) { ?&gt;&lt;?php /* Contador de Resultados */ $allsearch = &amp;new WP_Query("s=$s&amp;showposts=-1"); $count = $allsearch-&gt;post_count; _e('');
echo $count . ' '; _e('resultados'); wp_reset_query(); ?&gt; para la búsqueda: &lt;?php $allsearch = &amp;new WP_Query("s=$s&amp;showposts=-1"); $key = wp_specialchars($s, 1);
echo $key; _e(); ?&gt;&amp;nbsp;|&amp;nbsp;&lt;?php bloginfo('name'); ?&gt;&lt;?php } ?&gt;
&lt;?php if ( is_author() ) { ?&gt;Archivos del Autor&amp;nbsp;|&amp;nbsp;&lt;?php bloginfo('name'); ?&gt;&lt;?php } ?&gt;
&lt;?php if ( is_single() ) { ?&gt;&lt;?php wp_title(''); ?&gt;&amp;nbsp;|&amp;nbsp;&lt;?php bloginfo('name'); ?&gt;&lt;?php } ?&gt;
&lt;?php if ( is_page() ) { ?&gt;&lt;?php wp_title(''); ?&gt;&amp;nbsp;|&amp;nbsp;&lt;?php bloginfo('name'); ?&gt;&lt;?php } ?&gt;
&lt;?php if ( is_category() ) { ?&gt;&lt;?php single_cat_title(); ?&gt;&amp;nbsp;en&amp;nbsp;&lt;?php bloginfo('name'); ?&gt;&lt;?php } ?&gt;
&lt;?php if ( is_month() ) { ?&gt;Archivo de&amp;nbsp;&lt;?php the_time('F'); ?&gt;&amp;nbsp;|&amp;nbsp;&lt;?php bloginfo('name'); ?&gt;&lt;?php } ?&gt;
&lt;?php if (function_exists('is_tag')) { if ( is_tag() ) { ?&gt;&lt;?php  single_tag_title("", true); } } ?&gt;
&lt;/title&gt;</code></pre>
<p style="text-align: justify;">¿Que acabamos de hacer?, vamos con la explicación de cada código les parece:<span id="more-1846"></span></p>
<p style="text-align: justify;">Primeramente he de decir que el snippet se basa en las funciones condicionales, indicadas en PHP por el caracter <strong><code>if</code></strong>, es así que:</p>
<pre><code>&lt;?php if ( is_home() ) { ?&gt;&lt;?php bloginfo('name'); ?&gt;&amp;nbsp;|&amp;nbsp;&lt;?php bloginfo('description'); ?&gt;&lt;?php } ?&gt;</code></pre>
<p>Le indica a WordPress que si el lector se encuentra en la Portada o Index del blog muestre una estructura como esta: <strong>Nombre del Blog | Descripción del blog</strong>, agarrando estos de la configuración en la sección Opciones Generales de su Dashboard de WP.</p>
<pre><code>&lt;?php if ( is_search() ) { ?&gt;&lt;?php /* Contador de Resultados */ $allsearch = &amp;new WP_Query("s=$s&amp;showposts=-1"); $count = $allsearch-&gt;post_count; _e('');
echo $count . ' '; _e('resultados'); wp_reset_query(); ?&gt; para la búsqueda: &lt;?php $allsearch = &amp;new WP_Query("s=$s&amp;showposts=-1"); $key = wp_specialchars($s, 1);
echo $key; _e(); ?&gt;&amp;nbsp;|&amp;nbsp;&lt;?php bloginfo('name'); ?&gt;&lt;?php } ?&gt;</code></pre>
<p>Bueno acá tal vez se me paso un poco la mano con el código, pero quise que quedará los más natural posible, si el usurio está observando la página de resultados después de una búsqueda, la forma del título quedará así: <strong>2 resultados para la búsqueda: PHP | Nombre del Blog</strong>.</p>
<pre><code>&lt;?php if ( is_author() ) { ?&gt;Archivos del Autor&amp;nbsp;|&amp;nbsp;&lt;?php bloginfo('name'); ?&gt;&lt;?php } ?&gt;</code></pre>
<p>Para los archivos de un autor, el título a mostrar será: <strong>Archivos del Autor | Nombre del Blog.</strong></p>
<pre><code>&lt;?php if ( is_single() ) { ?&gt;&lt;?php wp_title(''); ?&gt;&amp;nbsp;|&amp;nbsp;&lt;?php bloginfo('name'); ?&gt;&lt;?php } ?&gt;</code></pre>
<p>La estructura del título de cada post será algo como: <strong>Títulos SEO para WordPress sin usar plugin | Kernel Web</strong>.</p>
<pre><code>&lt;?php if ( is_page() ) { ?&gt;&lt;?php wp_title(''); ?&gt;&amp;nbsp;|&amp;nbsp;&lt;?php bloginfo('name'); ?&gt;&lt;?php } ?&gt;</code></pre>
<p>Para una página se visualizará: <strong>Nombre de la Página | Título de tu Blog</strong>.</p>
<pre><code>&lt;?php if ( is_category() ) { ?&gt;&lt;?php single_cat_title(); ?&gt;&amp;nbsp;en&amp;nbsp;&lt;?php bloginfo('name'); ?&gt;&lt;?php } ?&gt;</code></pre>
<p>Si son las entradas agrupadas en una categoría se verá como un ejemplo: <strong>WordPress en Kernel Web</strong>.</p>
<pre><code>&lt;?php if ( is_month() ) { ?&gt;Archivo de&amp;nbsp;&lt;?php the_time('F'); ?&gt;&amp;nbsp;|&amp;nbsp;&lt;?php bloginfo('name'); ?&gt;&lt;?php } ?&gt;</code></pre>
<p><code> </code><br />
Archivo de un mes en especial:<strong> Archivo de Marzo | Tu Blog</strong>.</p>
<p>Y por último para las etiquetas se mostrar sólo el nombre: <strong>Nombre de la Tag</strong>.</p>
<pre><code>&lt;?php if (function_exists('is_tag')) { if ( is_tag() ) { ?&gt;&lt;?php  single_tag_title("", true); } } ?&gt;</code></pre>
<p style="text-align: justify;">Es todo, pueden modificarlo más si gustan, aunque así como esta ya es una buena configuración y forma de prescindir de plugins como el All in One SEO Pack para tener títulos SEO  <img src='http://www.kernelweb.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  en tu bitácora.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kernelweb.org/titulos-seo-en-wordpress-sin-usar-plugin/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Accesibilidad y usabilidad total para una página web</title>
		<link>http://www.kernelweb.org/accesibilidad-y-usabilidad-total-para-una-pagina-web/</link>
		<comments>http://www.kernelweb.org/accesibilidad-y-usabilidad-total-para-una-pagina-web/#comments</comments>
		<pubDate>Thu, 21 May 2009 22:01:48 +0000</pubDate>
		<dc:creator>Esteban Rojas</dc:creator>
				<category><![CDATA[Especiales]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[Webmasters]]></category>
		<category><![CDATA[Desarrollo web]]></category>
		<category><![CDATA[Diseño]]></category>
		<category><![CDATA[optimizar]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Usabilidad y Accesibilidad]]></category>

		<guid isPermaLink="false">http://www.kernelweb.org/?p=1679</guid>
		<description><![CDATA[La capacidad de crear una página web que se pueda visualizar correctamente y sea accesible sin importar navegador o potencia de los recursos técnicos es algo que todo webmaster y desarrollador web deberia tener apuntado cada vez que trabaja en algún proyecto.

Incluso para los que no somos profesionales en este campo pero tenemos algún emprendimiento en internet es bastante correcto que nos esforzemos por crear un sitio con accesibilidad y usabilidad total, ¿cómo lograrlo?, a continuación algunos recursos y consejos.
1.  Sigue las reglas y los estandares

Lograr que un blog o sitio sea cross browser no es fácil, pero el seguir los estandares de la W3C ayuda bastante a cumplir el objetivo.

Usable y Accesible
    Usable y Accesible

2.  No uses hacks, mejor usa Fixes

Lo puedes hacer manualmente o usando IE6 CSS Fixer.
3.  Optimiza tus imágenes

No es secreto que el tiempo de carga influye mucho para los usuarios; y es que son las imágenes las que más demoran en mostrarse, por ello es bueno siempre bajarles unos bytes con algún software para optimizar imágenes o herramientas web como Smush.it.
4. No te olvides del iPhone

Furor que causo el 3G :D y el iPhone es ya uno de los medios de entrada a internet que más adeptos gana dia a dia, por eso no es bueno olvidarse de él, checa como se ve tu sitio en el iPhone y si tienes un blog corriendo con WordPress optimizalo para el juguete favorito de Apple.]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">La capacidad de crear una página web que se pueda visualizar correctamente y sea accesible sin importar navegador o potencia de los recursos técnicos es algo que todo webmaster y desarrollador web deberia tener apuntado cada vez que trabaja en algún proyecto.</p>
<p style="text-align: justify;">Incluso para los que no somos profesionales en este campo pero tenemos algún emprendimiento en internet es bastante correcto que nos esforzemos por crear un sitio con accesibilidad y usabilidad total, ¿cómo lograrlo?, a continuación algunos recursos y consejos.</p>
<h2 style="text-align: justify;">1.  Sigue las reglas y los estandares</h2>
<p style="text-align: justify;">Lograr que un blog o sitio sea cross browser no es fácil, pero el seguir los estandares de la <strong>W3C</strong> ayuda bastante a cumplir el objetivo.</p>
<div id="attachment_1779" class="wp-caption alignright" style="width: 262px"><img class="size-medium wp-image-1779" title="pruebasdeusabilidad" src="http://www.kernelweb.org/wp-content/uploads/2009/04/pruebasdeusabilidad-300x213.jpg" alt="Usable y Accesible" width="252" height="160" /><p class="wp-caption-text">Usable y Accesible</p></div>
<h2>2.  No uses hacks, mejor usa Fixes</h2>
<p>Lo puedes hacer <a href="http://www.512megas.com/2009/03/10-fixes-css-que-solucionan-problemas-con-ie6/">manualmente</a> o usando <a href="http://www.kernelweb.org/ie6-css-fixer-herramienta-para-corregir-errores-en-ie6/">IE6 CSS Fixer.</a></p>
<h2>3.  Optimiza tus imágenes</h2>
<p>No es secreto que el tiempo de carga influye mucho para los usuarios; y es que son las imágenes las que más demoran en mostrarse, por ello es bueno siempre bajarles unos bytes con algún<a href="http://www.kernelweb.org/riot-software-para-optimizacion-radical-de-imagenes/"> software para optimizar imágenes</a> o herramientas web como <a href="http://www.kernelweb.org/smushit-optimizar-reducir-bytes-de-imagenes/">Smush.it</a>.</p>
<h2>4. No te olvides del iPhone</h2>
<p>Furor que causo el 3G <img src='http://www.kernelweb.org/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  y el iPhone es ya uno de los medios de entrada a internet que más adeptos gana dia a dia, por eso no es bueno olvidarse de él, <a href="http://www.webmasterlibre.com/2009/04/14/iphone-tester-comprueba-como-se-veran-tus-sitios-en-un-iphone/">checa como se ve tu sitio en el iPhone</a> y si tienes un blog corriendo con WordPress <a href="http://www.nometech.com/blog/how-to-create-an-iphone-version-of-your-blog/">optimizalo para el juguete favorito de Apple</a>.</p>
<p><span id="more-1679"></span></p>
<h2>5. No uses tanto Flash y JavaScript</h2>
<p>Dado que son lenguajes que para su interpretación y lectura son necesarios algunos reproductores y habilitación de opciones es recomendado usarlos sólo cuando es necesario, así se evita la falta de elementos en tu sitio web si el usuario no cuenta con tales cosas y se aligera un poco más el peso final de la página.</p>
<div id="attachment_1782" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-1782" title="iphonekernel" src="http://www.kernelweb.org/wp-content/uploads/2009/04/iphonekernel-300x164.jpg" alt="Kernel Web en el iPhone" width="300" height="164" /><p class="wp-caption-text">Kernel Web en el iPhone</p></div>
<h2>6. Describe tus elementos</h2>
<p>Imágenes con el atributo ALT, <a href="http://www.kernelweb.org/el-arte-de-linkear-cuando-y-como-enlazar/">enlaces con title y buen anchor text</a>, descripciones de videos y multimedia.</p>
<h2>7. Genera contenido legible, usable y escaneable</h2>
<p>El contenido lo es todo, más alla de si el diseño es bueno, el contenido es el rey, <a href="http://www.kernelweb.org/16-tips-para-generar-contenido-mas-usable/">hacer contenido usable y de calidad</a> es una directriz no escrita, pero que es bueno seguir para hacer de la web una herramienta optima y completa.</p>
<h2>8. Prueba y Comprueba</h2>
<p>Nada más sabio que el arreglar y romper, tanto para aprender, como para mantener una website en optimo estado, usa los recursos que la web de brinda para asegurarte de que tu trabajo esta bien hecho:</p>
<ul>
<li><a href="http://www.sidar.org/hera/index.php.es">Hera</a>, completa y muy buena herramienta que rescate de las entrañas de Webmaster Libre <img src='http://www.kernelweb.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  una suerte haberla visto.</li>
<li><a href="http://www.kernelweb.org/crossbrowsertesting-lo-mejor-para-testear-sitios-web/">CrossBrowserTesting</a>, visualiza tu website en tiempo real en todo navegador.</li>
<li><a href="http://www.anieto2k.com/2009/04/29/instala-todas-las-versiones-de-internet-explorer-en-tu-pc/http://www.anieto2k.com/2009/04/29/instala-todas-las-versiones-de-internet-explorer-en-tu-pc/">IE Collection</a>, todos los enemigos de los estandares (IE6,7 y 8 ) en uno sólo <img src='http://www.kernelweb.org/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> , para comprobar si se ve bien tu sitio y nada más.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.kernelweb.org/accesibilidad-y-usabilidad-total-para-una-pagina-web/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Resaltar comentarios del admin o autor en WordPress</title>
		<link>http://www.kernelweb.org/resaltar-comentarios-del-admin-o-autor-en-wordpress/</link>
		<comments>http://www.kernelweb.org/resaltar-comentarios-del-admin-o-autor-en-wordpress/#comments</comments>
		<pubDate>Mon, 18 May 2009 00:02:05 +0000</pubDate>
		<dc:creator>Esteban Rojas</dc:creator>
				<category><![CDATA[Debugueando]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Comentarios]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[snippets]]></category>

		<guid isPermaLink="false">http://www.kernelweb.org/?p=1900</guid>
		<description><![CDATA[Esto sin duda es uno de los trucos más buscados para WordPress, porque mejora el aspecto visual de los comentarios enormemente y permite que los lectores identifiquen cuando el blogger o administrador del sitio responde a sus opiniones.

commentskernel
    Comentarios Personalizados de Kernel Web

Si usas un theme diseñado para WordPress 2.7 esto es sumamente fácil, puesto que todo se hace con CSS usando algunas clases, tomaré de referencia las de este blog para mostrarlo de forma práctica:

ol.commentlist li.bypostauthor {  background: #D4EDFE; border: 3px solid #FFF;  }

Esto es si tenemos sólo un autor activo en nuestro blog, en caso de tener 2, 3 o más podemos recurrir a usar el siguiente tipo de estilo:]]></description>
			<content:encoded><![CDATA[<p>Esto sin duda es uno de los trucos más buscados para WordPress, porque mejora el aspecto visual de los comentarios enormemente y permite que los lectores identifiquen cuando el blogger o administrador del sitio responde a sus opiniones.</p>
<div id="attachment_1933" class="wp-caption aligncenter" style="width: 318px"><img class="size-full wp-image-1933" title="commentskernel" src="http://www.kernelweb.org/wp-content/uploads/2009/05/commentskernel.jpg" alt="commentskernel" width="308" height="190" /><p class="wp-caption-text">Comentarios Personalizados de Kernel Web</p></div>
<p style="text-align: justify;">Si usas un theme diseñado para WordPress 2.7 esto es sumamente fácil, puesto que todo se hace con CSS usando algunas clases, tomaré de referencia las de este blog para mostrarlo de forma práctica:</p>
<pre><code>ol.commentlist li.bypostauthor {  background: #D4EDFE; border: 3px solid #FFF;  }</code></pre>
<p style="text-align: justify;">Esto es si tenemos sólo un autor activo en nuestro blog, en caso de tener 2, 3 o más podemos recurrir a usar el siguiente tipo de estilo:<br />
<span id="more-1900"></span></p>
<pre><code>ol.commentlist li.comment-author-esteban-rojas { background:#333; border: 2px ridge #ff8800; }</code></pre>
<pre><code>ol.commentlist li.comment-author-tu-nombre-de-usuario { background: #333; border: 1px solid black; }</code></pre>
<p style="text-align: justify;">Esto para que cada autor tenga su propio estilo CSS a la hora que comente, el nombre de usuario vendría a ser el nombre que usamos para loguearnos en nuestro blog , si aún conservas el que  por defecto te asigna WordPress al instalarlo en tu server, el cual es admin, basta con asignar lo siguiente a tu hoja de estilos:</p>
<pre><code>ol.commentlist li.comment-author-admin { Acá irian tus estilos }</code></pre>
<p style="text-align: justify;">Si en cambio usas una plantilla antigua, y por ende sin comentarios adaptados a WordPress 2.7, la forma de conseguir que tus comentarios resalten de entre los de tus lectores es la siguiente:</p>
<p>Abrimos nuestro comments.php y localizamos el siguiente código:</p>
<pre><code>&lt;?php foreach ($comments as $comment) : ?&gt;</code></pre>
<p>Y debajo añadimos lo siguiente:</p>
<pre><code>&lt;?php
   $isByAdmin = false;
   if($comment-&gt;comment_author_email == "tucorreo@demo.com"){
   $isByAdmin = true;
   };
?&gt;</code></pre>
<p style="text-align: justify;">Esto no es más que una función condicional enfocada a verificar si el correo del comentarista es igual al correo del admin <code>"tucorreo@demo.com"</code> , por lo que tendrán que cambiar este último por el suyo y debajo añadir lo siguiente :</p>
<pre><code>&lt;li class="&lt;?php if ($isByAdmin) echo 'admin-comment'; else echo $oddcomment; ?&gt;" id="comment-&lt;?php comment_ID() ?&gt;"&gt;
</code></pre>
<p style="text-align: justify;">Que indica que si el correo coincide con el que pusieron se formatee ese comentario con la clase que establezcan, en este caso: <strong>admin-comment</strong>. Luego de esto bastara con ir al archivo style.css de nuestro theme y establecer los estilos CSS para la clase, generalmente tienen esta forma:</p>
<pre><code>.commentlist li.admin-comment { background: #D4EDFE; border: 3px solid #FFF; }</code></pre>
<p style="text-align: justify;">Si su bitácora tiene 2 o más administradores bastará con añadir una sentencia elseif o las que sean necesarias, puesto que estas se ejecutan en orden al devolver un valor cierto o falso, para 2 admins o autores quedaria así:</p>
<pre><code>&lt;?php
        $isByAuthor = false;
        $isByAdmin = false;
        if($comment-&gt;comment_author_email == "correoadmin1@demo.com"){
            $isByAdmin = true;
        } elseif($comment-&gt;comment_author_email == "correoadmin2@demo.com"){
            $isByAuthor = true;
        };
        ?&gt;</code></pre>
<p style="text-align: justify;">Se añadiria la clase: <code>author-comment</code> al CSS y abajo del código anterior se colocaria:</p>
<pre><code>&lt;li class="&lt;?php if ($isByAdmin) echo 'admin-comment'; elseif ($isByAuthor) echo 'author-comment';
else echo $oddcomment; ?&gt;" id="comment-&lt;?php comment_ID() ?&gt;"&gt;</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.kernelweb.org/resaltar-comentarios-del-admin-o-autor-en-wordpress/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Cómo cambiar el Avatar por Default en WordPress</title>
		<link>http://www.kernelweb.org/como-cambiar-el-avatar-por-default-en-wordpress/</link>
		<comments>http://www.kernelweb.org/como-cambiar-el-avatar-por-default-en-wordpress/#comments</comments>
		<pubDate>Thu, 07 May 2009 02:58:36 +0000</pubDate>
		<dc:creator>Esteban Rojas</dc:creator>
				<category><![CDATA[Debugueando]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Avatars]]></category>
		<category><![CDATA[WordPress Hacks]]></category>

		<guid isPermaLink="false">http://www.kernelweb.org/?p=1755</guid>
		<description><![CDATA[Los Gravatars en los comentarios son una de las cosas que más me gustan de WordPress, sin embargo el "señor misterioso", el Gravatar que muestra por default WordPress, nunca me ha caido muy bien.

Tal vez por ser blanco y gris, colores medio apagados a mi parecer, seguro que a muchos de ustedes tampoco les ha de agradar mucho (?) , entonces ¿porque no cambiarlo y poner tu propio avatar personalizado?.

¿Cómo?, a continuación un pequeño tutorial cortesia de Build Internet más algun bonus agregado por mi, manos a la obra.

avatar-default
    Avatares Personalizados

Primero abrimos el archivo functions.php de nuestro theme, si no tienen uno, pueden crearlo desde el Notepad o su editor de código favorito y subirlo por FTP a la carpeta de su template.]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Los Avatars en los comentarios son una de las cosas que más me gustan de WordPress, sin embargo el &#8220;señor misterioso&#8221;, el  Avatar que muestra por default WordPress, nunca me ha caido muy bien.</p>
<p style="text-align: justify;">Tal vez por ser blanco y gris, colores medio apagados a mi parecer, seguro que a muchos de ustedes tampoco les ha de agradar mucho (?) , entonces ¿porque no cambiarlo y poner tu propio avatar personalizado?.</p>
<p style="text-align: justify;">¿Cómo?, a continuación un pequeño tutorial cortesia de <a href="http://buildinternet.com/2009/02/how-to-change-the-default-gravatar-in-wordpress/">Build Internet</a> más algún bonus agregado por mi, manos a la obra.</p>
<div id="attachment_1763" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-1763" title="avatar-default" src="http://www.kernelweb.org/wp-content/uploads/2009/04/avatar-default-300x169.jpg" alt="avatar-default" width="300" height="169" /><p class="wp-caption-text">Avatares Personalizados</p></div>
<p style="text-align: justify;">Primero abrimos el archivo functions.php de nuestro theme, si no tienen uno, pueden crearlo desde el Notepad o su editor de código favorito y subirlo por FTP a la carpeta de su template.</p>
<p style="text-align: justify;"><span id="more-1755"></span></p>
<p style="text-align: justify;">Hecho esto no situamos en él, preferiblemente al final, antes de que se cierre el archivo con el simbolo <strong><code>?&gt;</code></strong> y agregamos este snippet:</p>
<pre><code>add_filter( 'avatar_defaults', 'newgravatar' );

function newgravatar ($avatar_defaults) {
    $myavatar = get_bloginfo('template_directory') . '/images/customavatar.png';
    $avatar_defaults[$myavatar] = "Avatar Redux";
    return $avatar_defaults;
}</code></pre>
<p>Donde:</p>
<ol>
<li>Add Filter es la función que le dice a WP que vamos a editar la sección de los avatar por default, agregando uno nuevo.</li>
<li>La función &#8220;newgravatar&#8221; es la responsable de proporcionar la ubicación y el título del nuevo Gravatar que vamos a añadir.</li>
<li>La primera linea de la función corresponde a la ubicación de la imagen que se va a usar para añadir el nuevo gravatar, es importante señalar que además del nombre se debe especificar el tipo de archivo correcto (JPG,PNG).</li>
<li>La segunda línea es la que define el nombre de este, en mi caso: &#8220;Avatar Redux&#8221;.</li>
<li>La última parte devuelve los resultados que deben incluirse en el theme a la matriz avatar_defaults.</li>
</ol>
<p>En caso de que se quieran agregar 2 o más avatars, basta con repetir las 2 líneas que componen la función, sólo que numerandolas para tener un ID o clave diferente:</p>
<pre><code> $myavatar = get_bloginfo('template_directory') . '/images/customavatar.png';
    $avatar_defaults[$myavatar] = "Avatar Redux";

 $myavatar2 = get_bloginfo('template_directory') . '/images/blogavatar.jpg';
    $avatar_defaults[$myavatar2] = "My Avatar";

    return $avatar_defaults;
}</code></pre>
<p>Y eso es todo, <strong>adios al señor misterioso</strong> <img src='http://www.kernelweb.org/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  , espero les sirva, un pequeño truco o hack que tiene un buen impacto visual, pueden ver el de este blog hecho por mi amigo y gran diseñador <a href="http://www.teoatienza.com/">Teo Atienza</a> en los comentarios, así mismo quiero darle las gracias a <a href="http://www.anieto2k.com/">Andrés Nieto</a> por ayudarme con el CSS para mostrar código en los posts de WordPress.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kernelweb.org/como-cambiar-el-avatar-por-default-en-wordpress/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
	</channel>
</rss>
