![]() |
« Tutoriales « BlogArtículosDownloadsEnchulando la búsqueda de WordPressMiércoles, 21 de mayo, 2008 |
Acerca de
Soy Sergio Nouvel, diseñador y consultor Web. Escribo sobre Web, cultura y tecnología, así como artículos y tutoriales para desarrolladores Web. Más...
En este tutorial veremos un par de técnicas y plugins, que de modo muy fácil, volverán el buscador de cualquier sitio WordPress en una herramienta útil y poderosa, al estilo de Google o Yahoo, que ayudará a tus visitantes a encontrar tu contenido con más facilidad. Para poder aprovechar este tutorial al máximo, la idea es que ya le hayas metido mano a los temas de WordPress, usando Template Tags y cosas por el estilo. Si no es así, puedes de todas formas leer el paso 1, dedicado a los plugins. El buscador de WordPress predeterminadoAl “sacarlo de la caja”, usándolo, por ejemplo, con el tema “default” (Kubrick), la página de resultados de búsqueda de WordPress (search.php) ofrece la siguiente funcionalidad:
Veamos cómo podemos mejorar esto. Paso 1: PluginsBuscando y buscando, encontré hace un tiempo ya dos plugins que mejoran rápidamente la calidad de los resultados del buscador, y que uso en todos mis proyectos con WordPress. Veamos:
Paso 2: Quitar la información no relevanteExaminemos qué hay al interior de The Loop en el search.php que viene con el tema default de WordPress: <div class="post">
<h3 id="post-<?php the_ID(); ?>">
<a href="<?php the_permalink() ?>" rel="bookmark"
title="Permanent Link to <?php the_title_attribute(); ?>">
<?php the_title(); ?></a></h3>
<small><?php the_time('l, F jS, Y') ?></small>
<p class="postmetadata">
<?php the_tags('Tags: ', ', ', '<br />'); ?>
Posted in <?php the_category(', ') ?> |
<?php edit_post_link('Edit', '', ' | '); ?>
<?php comments_popup_link('No Comments »', '1 Comment »',
'% Comments »'); ?></p>
</div>
Hay cosas que considero que no son relevantes para el usuario en una página de resultados de búsqueda (recuerda, menos es más):
Vamos a añadir the_excerpt() para sacarle provecho al plugin Search Excerpt, y vamos a sacar la información no relevante. El código resultante quedaría así: <div class="post">
<h3 id="post-<?php the_ID(); ?>">
<a href="<?php the_permalink() ?>" rel="bookmark"
title="Permanent Link to <?php the_title_attribute(); ?>">
<?php the_title(); ?></a></h3>
<?php the_excerpt(); ?>
<p class="postmetadata">
Posted in <?php the_category(', ') ?> </p>
</div>
Paso 3: Mostrar el número de resultados obtenidosEsto es especialmente importante en un sitio Web. En Google siempre obtendremos miles y miles de resultados y nosotros navegaremos, con suerte, hasta la página 6, pero en un sitio los resultados son más limitados, y es bueno decirle al usuario qué tanto puede esperar encontrar. El código para hacerlo es sencillo (sirve para WordPress 2.5 o superior): <p><?php echo $wp_query->post_count; ?> resultados encontrados para tu búsqueda: <strong><?php the_search_query(); ?></strong>.</p> Lo anterior arrojaría algo como ésto (puedes probarlo en el buscador de este mismo sitio):
Este código debe ser insertado justo antes de The Loop. Veámoslo en contexto: <?php if (have_posts()) : ?> <p><?php echo $wp_query->post_count; ?> resultados encontrados para tu búsqueda: <strong><?php the_search_query(); ?></strong>.</p> <?php while (have_posts()) : the_post(); ?> Paso 4: Mostrar la URL del resultadoLos buscadores siempre muestran la URL de cada resultado, que es la página hacia donde llegará el usuario luego de hacer clic. Esto es importante porque el usuario necesita saber hacia dónde lo llevará su clic, quitándole incertidumbre, y porque esta información extra ayuda al usuario a sentirse más ubicado. En WordPress esto es sencillísimo. Sólo tenemos que agregar lo siguiente, justo al final de The Loop: <p><?php the_permalink();?></p> A este párrafo se le puede dar un color. En páginas con fondos blancos, recomiendo usar verde. Al usuario le resultará muy familiar, aumentando su confianza. Mira este ejemplo del buscador del sitio de Novos. Resultado finalCon todos los cambios aplicados, el código final quedaría así: <?php if (have_posts()) : ?>
<p><?php echo $wp_query->post_count; ?>
resultados encontrados para tu búsqueda:
<strong><?php the_search_query(); ?></strong>.</p>
<!--aquí comienza The Loop -->
<?php while (have_posts()) : the_post(); ?>
<div class="post">
<h3 id="post-<?php the_ID(); ?>">
<a href="<?php the_permalink() ?>" rel="bookmark"
title="Permanent Link to <?php the_title_attribute(); ?>">
<?php the_title(); ?></a></h3>
<?php the_excerpt(); ?>
<p class="postmetadata">
Posted in <?php the_category(', ') ?> </p>
<p><?php the_permalink();?></p></div>
<?php endwhile; ?> <!-- Fin de The Loop -->
<!-- más contenido aquí... -->
<?php endif; ?>
¿Te fue de utilidad este tutorial? Tienes opiniones, dudas, aportes? Hazte parte en los comentarios. 13 comentarios.
1
2
septiembre 23, 2008EriGenial! Muy bueno el post, funciona todo sin casi necesidad de modificar nada! y para cualquier theme… Gracias! septiembre 24, 2008Sergio@Raul y @Eri, gracias por sus comentarios! :)
4
octubre 7, 2008Lucasestoy armando una pequeña intranet a base de WP y esto me ha venido muy bien, gracias!
5
diciembre 11, 2008reviktio muchas gracias me salvas el culo!!!!
6
abril 18, 2009chitioreMuchas gracias amigo, me sirvieron de bastante los tips.
7
junio 18, 2009DoctorPcno me sirvio ninguno de los 4 tips, el 1ero era de pago, el segundo es para drupal, el 3ero no es util cuando tienes paginacion en el sitio, el 4to mostrar las URL es irrelevante, pero de todas maneras se agradece el post, fue entretenido ocupar estos tips para ir probando, Thanks! junio 18, 2009Sergio@DoctorPc: Sí, ahora esos plugins son pagados, para cuando yo escribí este post eran gratuitos. Bueno, yo de hecho los tengo gratuitos, pero no estoy seguro si la licencia me permite compartirlos. Voy a revisar. El segundo tip… para Drupal?? Parece que te distrajiste, todos los tips son para WordPress. Mira el código. El tercero y el cuarto van a criterio de cada cual usarlos o no. Bueno, en realidad todos quedan a criterio de quien desarrolla, yo elegí éstos porque en mi experiencia con usuarios han sido los que mejores resultados me han dado. Saludos!
9
julio 6, 2009ArturoDe donde saca los resultados de busqueda, por que en un sitio veo que me arroja unas imagenes que no tienen nada que ver con la descripción del resultado. julio 6, 2009Sergio@Arturo, puedes especificar qué te sucedió?
11
enero 30, 2010XavierHola Sergio, se puede hacer que el bucador de wordpress busque dentro de los comentarios … desde ya gracias … muy bueno el Blog … enero 30, 2010SergioHola Xavier, se tiene que poder, pero yo no sé como :), los plugins que uso vienen así tal cual. Voy a buscar si ha salido algo recientemente. Saludos!
13
septiembre 12, 2010EldMe has salvado la vida, es justo lo que buscaba ……gracias |
|
septiembre 12, 2008Raul
¡Todo lo que haces me resulta útil! Lo pongo a prueba.