02May06
EstadÃsticas en WP (VI): showpopstats
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.
- 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:
- 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');
} - 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'); }
- 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(); ?>...
- Creamos header_stats.php idéntico a header.php pero sustituyendo
< ?php wp_head(); ?>
por
< ?php wp_head_stats(); ?>
- Editamos showpopstats, sustituyendo
add_action('wp_head','show_cssAdmin');
por
add_action('wp_head_stats','show_cssAdmin');
- Creamos una página para las estadÃsticas siguiendo las instrucciones para showpopstats y utilizando la plantilla que hemos creado: “Estadisticapop”
- En functions.php copiar la función wp_head y cambiar a la copia de nombre:
- 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…
- 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:
- 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' );
-
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
- Comentamos un código repetido de los estilos que, aparentemente, no tiene ninguna función:
/* #ps_vgraphic td, #ps_hgraphic td{ padding:2px; } */
- (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
Podéis ver el resultado en mi página de estadÃsticas de popstats
Iba dice:
Saludos desde la isla