Estadísticas en WP (VI): showpopstats

sisi escribió esto a las 21:00

Actualización (17-06-2006):
Debido que que se ralentiza mucho la carga del blog, se ha decidido prescindir temporalmente de este plugin. Hay más detalles en este artículo:
http://sisifodichoso.org/2006/06/17/el-plugin-showpopstats-ralentiza-la-carga-del-blog/
El autor del plugin da una solución, que él mismo califica de temporal, al problema
http://www.anieto2k.com/2006/03/31/probando-showpopstats/
Puesto que el plugin sigue siendo muy interesante, se ha decidico mantener los contenidos de este artículo por si pudieran ser útiles para alguien.
Fin actualización

Después de la instalación de showpopstats, me quedaron unos detallitos por “corregir” para que todo estuviera más o menos a mi gusto.

  1. No me gustaba que, estuviéramos en la página que estuviéramos, los estilos de las estadísticas se cargaran siempre en el head del blog. He pensado dos soluciones par evitar esta situación:
    • La solución sencilla es copiar los estilos de showpopstats en una sección de mi hoja de estilos y comentar la línea de código:
      /*add_action('wp_head','show_cssAdmin');*/
      y conseguir, de esta forma que no cargue los estilos en el header, aunque siempre estarían cargados en la CSS.
    • La solución más compleja es reformar un poco el código de WordPress para que los estilos de showpopstats se carguen en el head, exclusivamente cuando se visita la página de estadísticas. Imagino que hay formas más elegantes de hacer esto, pero lo que yo he ideado se basa en hacer dos header distintos, uno general y otro para las estadísticas que será llamado en la ejecución de showpopstats. En realidad esto también vale, mutatis mutandis, para hacer un header distinto para cada una de nuestras páginas estáticas. Pero bueno, a la tarea:
      1. En functions.php copiar la función wp_head y cambiar a la copia de nombre:
        function wp_head() {
        do_action('wp_head');
        }
        function wp_head_stats() {
        do_action('wp_head_stats');
        }
      2. En template-functions-general.php hacemos lo mismo con la función get_header:
        function get_header() {
        	if ( file_exists( TEMPLATEPATH . '/header.php') )
        		load_template( TEMPLATEPATH . '/header.php');
        	else
        		load_template( ABSPATH . 'wp-content/themes/default/header.php');
        }
        function get_header_stats() {
        	if ( file_exists( TEMPLATEPATH . '/header_stats.php') )
        		load_template( TEMPLATEPATH . '/header_stats.php');
        	else
        		load_template( ABSPATH . 'wp-content/themes/default/header.php');
        }
      3. Creamos una plantilla de página idéntica a la plantilla por defecto
        < ?php
        /*
        Template Name: About
        */
        ?>
        < ?php get_header(); ?>
        < ?php if (have_posts()) : while (have_posts()) : the_post();?> ... 

        Pero modificando el header y el nombre de la plantilla:

        < ?php
        /*
        Template Name: Estadisticapop
        */
        ?>
        < ?php get_header_stats(); ?>...
      4. Creamos header_stats.php idéntico a header.php pero sustituyendo
        < ?php wp_head(); ?>

        por

        < ?php wp_head_stats(); ?>
      5. Editamos showpopstats, sustituyendo
        add_action('wp_head','show_cssAdmin');

        por

        add_action('wp_head_stats','show_cssAdmin');
      6. Creamos una página para las estadísticas siguiendo las instrucciones para showpopstats y utilizando la plantilla que hemos creado: “Estadisticapop”
    • Yo, de momento, he adoptado la primera opción en función de su simpleza, porque mi CSS aún no es muy grande y porque, al fin y al cabo las estadísticas forman parte del blog así que parece “justo” que sus estilos se guarden junto con los del resto de las secciones…
  2. El propio código de popstats y de showpopstats nos facilita enormente la labor de traducción:
    // Type translation, leave blank the ones you don't want translated
    $show_tr = array (
    	'Visits' => 'Visitas',
    	'Hits' => '',
    	'Day' => 'Dia',
    	'Today' => 'Hoy',
    	'First Day' => 'Primer dia',
    	'People Online' => 'En linea',
    	'IP' => '',
    	'URL' => '',
    	'Stats' => 'Estadisticas',
    	'Average' => 'Media',
    	'Max' => 'Maximo',
    	'Total' => '',
    	'Last N days' => 'Ultimos N dias',
    	'Max Online' => 'Maximo en linea',
    	'Top Browsers' => 'Navegadores mas utilizados',
    	'View Extended' => 'Vista extendida',
    	'View General' => 'Vista general',
    	'Crawler/Search Engine' => 'Motor de busqueda',
    	'Top Platforms' => 'Plataformas mas utilizadas',
    	'Last N Search Terms' => 'Ultimas N busquedas',
    	'Last N Referers' => 'Ultimos N referers',
    	'Animate Stats' => 'Estadisticas animadas',
    	'Stop Animation' => 'Para animacion',
    	'Reset Stats' => 'Borra todos los datos',
    	'You are about to delete all data and reset stats. OK to delete, Cancel to stop' => 'Vas a borrar todos los datos. Pulsa Ok para borrar, Cancel para parar'
    );
  3. Hacemos algunos cambios en los estilos. Cambiamos, por ejemplo:

     .ps_table {
    		margin-top: 30px;
    		background-color: #666;
    		text-align: center;

    poniendo “center” para poner al centro el texto de las tablas

  4. Comentamos un código repetido de los estilos que, aparentemente, no tiene ninguna función:
    /*	#ps_vgraphic td, #ps_hgraphic td{
    	padding:2px;
    	}     */
  5. (por hacer)Añadimos a la hoja de estilo los atributos de las tablas. Por ejemplo, no es nada bonito que en todas las tablas aparezca
    <table class="ps_table" cellpadding="4" cellspacing="1"></table>
    y digo yo que habrá alguna manera de incluirlo en la hoja de estilo, en los atributos de .ps_table. Lo he intentado, pero no me ha salido :?

En fin, que ya paro de rollo …
Por supuesto que, como siempre, se admiten sugerencias, ideas, críticas y todo lo que se os ocurra :mrgreen:

Podéis ver el resultado en mi página de estadísticas de popstats

Comparte este artículo:
  • Meneame
  • del.icio.us
  • Digg
  • Facebook
  • TwitThis
  • Google
  • Live
  • E-mail this story to a friend!
  • Print this article!

Un comentario en “Estadísticas en WP (VI): showpopstats”


  1. Iba dice:

    Saludos desde la isla :D