<?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; Comentarios</title>
	<atom:link href="http://www.kernelweb.org/tag/comentarios/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>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>
	</channel>
</rss>
