Contenido

Nube Comments, agradece los comentarios

11 jul

+ 40

Nube Tags, pretende ser un plugin para WordPress con el cual podrás agradecer en forma de enlace a los comentaristas del blog, su interacción con tu blog, formando una nube de comentarístas donde el número de posts será el condicionante que indicará el tamaño del nombre y su enlace.

Para este plugin he puesto dos pequeñas funciones con las cuales podremos decidir que mostrar y como mostrarlo.

Instalación

  1. Descargar el plugin
  2. Descomprimir y subir a la carpeta wp-content/plugins
  3. Activar desde el menú administrador.
  4. Realizar los cambios pertinentes en el theme.

Para que la nube de comentarístas aparezca en nuestro theme tendremos que modificar nuestros ficheros de la siguiente forma:

  • Elegimos el fichero a modificar (yo lo he puesto en sidebar.php)
  • Decidimos que queremos mostrar nube_todos() o nube_comments().

nube_todos() 

Esta función se encarga de mostrarnos los comentarístas que han comentado alguna vez en nuestro blog de forma aleatoria. Podemos pasarle 3 parametros con los cuales personalizamos algo más nuestra salida.

nube_todos($min = 8, $max = 30, $limit = 20);

$min -> El tamaño mínimo de la fuente, osea el que menos comentarios haya enviado. Por defecto 8.

$max -> El  tamaño máximo de la fuente, osea el que más comentarios haya enviado. Por defecto 30

$limit -> El número de comentarístas a mostrar. Por defecto 20.

* Los resultados son mostrados de forma aleatoria.

nube_comments()

Función que nos devolverá una nube de tags con los comentarístas de una entrada en concreto. Se mostrará siempre que entre una entrada.

nube_comments($min = 8, $max = 30);

$min -> El tamaño mínimo de la fuente, osea el que menos comentarios haya enviado. Por defecto 8.

$max -> El  tamaño máximo de la fuente, osea el que más comentarios haya enviado. Por defecto 30

Recuerdo que la forma correcta de usarlo sería mediante el uso de la función, function_exists().

Descargar 

Versión: 1.0 –> aqui.

  • Interesante el plugin… Veamos si salgo en la nube ;-)

  • Veamos a ver como funciona la nubecita…

  • Queda guay, pero me quedaria más guapo si tuviera más comentaristas. De momento no lo pondré en el Blog, porque es tonteria ponerlo con tan pocos comentaristas. Pero enhorabuena otra vez, es una idea muy original y guapa.

  • Me encanta, tremenda idea :)
    Al tener menos comentaristas, como dicen por hay arriba, yo seguramente lo integre en forma de lista, en una pagina de estadisticas, los mas grandes ( comentarios) y descendiendo :P

  • Erudite, pensé en hacerlo así, pero de esa forma no agradecías a todos su aportación. La idea es que la gente comente más, y de esta forma aunque sea solo tener un enlace aleatorio en portada puede ser buen aliciente :D

  • Genial man… muchas gracias de nuevo ;-)

  • Wow, me encantó la idea desde que celebraste tus 1000 post y me preguntaba como se haría.

    Gracias por el dato ;)

  • La verdad es que parece muy interesante…

  • La verdad es que parece muy interesante..

    La probaremos a ver que tal…

  • He encontrado un “fallito” . Hay muchos usuarios que no escriben correctamente las urls y salen también sus enlaces en la nube. Se podrían filtrar esos resultados para que solo se mostrasen sus nick sin el enlace a su url.

    Enhorabuena, este plugin es estupendo porque aumenta el technorati, pagerank, de tus comentaristas

    saludos

  • Lo he implementado en mi blog, y me parece un excelente plugin. Eres un maestro!!! Tuve un poco de problemas al ingresar el código, pero los resultados son geniales

    Felicidades.

  • Llego un poco tarde a esta entrada, pero en fin, decir que es muy útil. Gracias!

  • muy buen plugin! felicidades,
    lo uso satisfactoriamente en http://idealist.blinkr.net/

    pero tengo una pregunta…
    porque lo has eliminado de tu sidebar?
    te has encontrado con algun problemilla?
    crees que es innecesario y sobreinformativo para tus visitantes?

    me gustaria saber tu opinion, porque yo me he enamorado de el :) y no entiendo porque tu ya no lo usas…

  • #13 Si te digo la verdad lo he dejado de usar, principalmente por que el nuevo diseño iba a ser más minimalista que el anterior y aún no sabía donde colocarlo.

    Despues con el tema del header-footer se me pasó, y ahora me lo has recordado y he vuelto a pensar en donde ponerlo :D

    Mi intención es usarlo ya que valoro mucho los comentarios que recibo, y es una forma de agradecer esos minutos que se pueden perder. A ver si tengo un poco de tiempo y puedo mirar en donde lo coloco.

  • Y una cosa… ¿No es posible hacer que no salga mi nick en la nube? Porque evidentemente, soy el que más comenta en mi blog y no me gusta que mi nombre aparezca en grande… :S

  • Vale, ya lo tengo… perdona por escribir dos mensajes tan seguidos, pero he pensado que podría ser interesante si alguien estaba en mi misma situación:

    Sólo hay que editar el código del plugin y añadir esta línea: en las dos consultas SELECT que hay:

    (…)
    AND `comment_type` = ”
    AND comment_author ‘[aqui tu nombre]’ ID.”‘
    (…)

    Hay que substituir “[aqui tu nombre] por tu nick como creador del blog, en mi caso pondría ‘Dandel’.

    Supongo que hay una función de WordPress para ello, pero a tanto no llego :P

  • #15 si que es posible, aunque no es de una forma que me guste mucho. La tabla de comentarios de WordPress no dispone de un ID para los usuarios que comentan, asi que nos vemos obligados filtrar por el nombre del comentarista.
    Bastaría cambiar la SELECT de la función por un similar a este.

    
    " SELECT comment_author,`comment_author_url`, COUNT( comment_ID ) AS 'comment_total'					FROM $wpdb->comments
    						WHERE comment_approved = '1'
    						AND `comment_type` = ''
    						AND comment_post_ID = '".$post->ID."'
    						AND comment_author <> "AUTOR"
    						GROUP BY comment_author							ORDER BY comment_author ASC "
    

    Si te fijas en la línea en negrita, añade al filtro los comentarios no realizados por AUTOR, cambia AUTOR por tu nick y ya no aparecerás en la nube.

    Saludos

  • No me ha dado tiempo a contestar :D

  • hola,
    habria la manera de mostrar un trozo del comment despues de cada nombre?

  • hola, gracias por este fabuloso plugin,

    me gustaria mostrar un comentarista random con uno de sus comments. con link al comentarista y link al post comentado.

    como la nube de tags pero para un solo comentarista + uno de sus comentarios + link al post.

    ejemplo:
    Ramon [23 comentarios]
    “bla bla bla” >>> en el post AAA

    donde “Ramon” linka al comentarista, y “AAA” linka al post comentado.

    es factible usando el existente plugin?
    gracias de antemano

  • #20 Para que te aparezca el comentario deberías añadirle a la SELECT que nos devuelva el campo comment_content y despues mostrarlo alli donde quieras que aparezca.

    ¿El enlace? igual, tendría que sacarte el comment_ID de cada comentario :D

  • gracias por la rapida respuesta Andres ;)

    el problemilla es que mis habilidades php solo llegan al nivel de copiar y pegar… ;(

    si tienes tiempo y puedes indicarme que escribir y donde, me harias un gran favor…

    si no… pues otro dia sera ;)

  • #22 Tendría que ser esto.

    
    SELECT comment_ID, comment_author,`comment_author_url`, COUNT( comment_ID ), comment_content AS 'comment_total'					
    						FROM wpdb->comments						
    						WHERE comment_approved = '1'		AND `comment_type` = ''
    						AND comment_post_ID = '".$post->ID."'
    						GROUP BY comment_author							ORDER BY comment_author ASC
    

    Y despues bastaría con modificar las líneas 49 y 85 a algo similar a esto.

    
    echo '<a style="font-size:'.$font.'px;" href="'.$p- rel="nofollow">comment_author_url.'" title="Comentarios: '.$p->comment_total.'">'.$p->comment_author.'</a>, '.'<p class="infocomment">'.$p->comment_content.'<a href="#'.$p- rel="nofollow">comment_ID.'">#</a>.'</p>';
    
    

    Personalmente si quieres hacer una nube de comentarista está no me parece la mejor opción, ya que una nube debe contener el texto justo para no causar sensación de aglomeración. ¿Quizas hacer de la nube un listado sería la solución?

  • la idea es:

    1) tener la nube de cometnaristas tal cual la crea tu plugin en una parte del sidebar. (esto ya me funciona)

    2) en otra parte del sidebar, tener un (solo uno) comentario aleatorio al estilo de “cita celebre”…
    …para generear interes y guiar a los visitantes a posts que han sido comentados…

    voy a probar lo que me sugieres,

    pero quizas tendria que duplicar el plugin para poder tenere las dos cosas a la vez, no?
    o debaria crear otra funcion para generar el comentario aleatorio?

    de hecho un simple plugin para mostrar random-comments me bastaria, pero ho he sabido encontrar ninguno…

    gracias otra vez!

  • #24 Más que duplicar el plugin, bastaría con crear una función nueva dentro del mismo plugin y llamarla desde el theme.

  • lo he intentado, pero me ha dado un error de mideo! ;(

    he hecho lo siguiente

    
    // Función que muestra todos los comentarístas del blog con su texto.
    function nube_todos_texto($min = 8, $max = 30, $limit = 20) {
    	global $wpdb;
    	$r = $wpdb->get_results(" SELECT comment_author,`comment_author_url`, COUNT( comment_ID ), comment_content AS 'comment_total'
    							FROM $wpdb->comments
    							WHERE comment_approved = '1'
    							AND `comment_type` = ''
    							AND comment_post_ID = '".$post->ID."'
    							GROUP BY comment_author
    							ORDER BY rand() LIMIT $limit");
    							
    	if (!is_array($r))  return false;
    	$min_scale = $min;
    	$max_scale = $max;
    	foreach ($r as $p) {
    	$count_max = ($p->comment_total > $count_max)?$p->comment_total:$count_max;
    	$count_min = ($p->comment_total comment_total:$count_min;	
    	}
    	 
    	$spread_current =   $count_max - $count_min; 
    	$spread_default = $max_scale - $min_scale;
    	if ($spread_current comment_total - $count_min) * $scale_factor + $min_scale);
    		
    		if($p->comment_author_url != '')
    			echo 'comment_author_url.'" title="Comentarios: '.$p->comment_total.'">'.$p->comment_author.', ';
    		else 
    			echo $p->comment_author.", ";
        }
    
    }
    

    le he llamado “nube_todos_texto”

  • perdon! ;(
    borra el comentario anterior… ha quedado horrendo.

  • mil gracias por tu ayuda, :)

    ya lo he solucionado.

    felicidades otra vez por tus plugins y por este blog. ;)

  • hola otra vez…

    al final he optado por crear un plugin.
    lo he llamado Simple Random Comments
    http://blinkr.net/simplerandomcomments/

    es una modificacion de uno ya existente llamado “simple recent comments”

    *aunque el tuyo sigo usandolo ;)

    gracias por todo.

  • Hola, llego tarde, pero tengo la duda con respecto a qué hay que poner en el sidebar para llamar la nube con los comentaristas.

    Si pudieras contestarme eso, te estaré muy agradecido.

    Saludos y excelente trabajo,

    José.

  • #30 Buenas, si revisas arriba verás que hay dos funciones nube_comments() y nube_todos(), deberías introducir la que quieras en el lugar donde quieras que aparezca.

    Saludos

  • Muchas gracias. En serio.

    José.

Comentar

#

Me reservo el derecho de eliminar y/o modificar los comentarios que contengan lenguaje inapropiado, spam u otras conductas no apropiadas en una comunidad civilizada. Si tu comentario no aparece, puede ser que akismet lo haya capturado, cada día lo reviso y lo coloco en su lugar. Siento las molestias.