Ver Mensaje Individual
  #30 (permalink)  
Antiguo 24/06/2011, 14:16
Avatar de rogertm
rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 8 meses
Puntos: 638
Respuesta: Tips / trucos para WordPress

Rewrite en resultados de búsquedas de Wordpress:
Código PHP:
Ver original
  1. <?php
  2. function search_result_rewrite_rule(){
  3.     if(is_search() && !empty($_GET['s'])){
  4.         wp_redirect(home_url("/") . 'search/' . str_replace(' ', '+', str_replace('%20', '+', get_query_var('s'))));
  5.         exit();
  6.     }
  7. }
  8. add_action('template_redirect', 'search_result_rewrite_rule');
  9. ?>
La función la acabo de probar y funciona perfectamente, lo único que tiene es que si llamas la cadena buscada con get_search_query() pasa lo siguiente, por ejemplo si buscamos por: Lorem Ipsum, obtenemos: Lorem+Ipsum, pero invirtiendo la función supongo que se arregle esto...

EDITO:
Para que no suceda lo del signo de mas (+) al recuperar la cadena buscada mediante get_search_query() he agregado un par de líneas al código de la función original:
Código PHP:
Ver original
  1. <?php
  2. function search_result_rewrite_rule($no_plus){
  3.     if(is_search() && !empty($_GET['s'])){
  4.         wp_redirect(home_url("/") . 'search/' . str_replace(' ', '+', str_replace('%20', '+', get_query_var('s'))));
  5.         exit();
  6.     }
  7.     $no_plus = str_replace('+', ' ', get_search_query());
  8.     return $no_plus;
  9. }
  10. add_action('template_redirect', 'search_result_rewrite_rule');
  11. ?>
Saludos...
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose

Última edición por rogertm; 28/06/2011 a las 09:23