Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » WordPress »

Problemas con el search.php

Estas en el tema de Problemas con el search.php en el foro de WordPress en Foros del Web. Hola , espero que alguien pueda ayudarme con unas dudas en cuanto a búsquedas: 1- Cuando realizo una búsqueda en mi web lo hace correctamente ...
  #1 (permalink)  
Antiguo 06/06/2011, 18:39
Avatar de dropthebass  
Fecha de Ingreso: abril-2008
Mensajes: 27
Antigüedad: 16 años
Puntos: 0
Busqueda Problemas con el search.php

Hola , espero que alguien pueda ayudarme con unas dudas en cuanto a búsquedas:

1- Cuando realizo una búsqueda en mi web lo hace correctamente al mostrarse la primera página, pero si la búsqueda contiene 2 palabras o más al pasar al a segunda página me dice que no hay resultados aunque realmente me los pagine en la primera. He visto el fallo que comete la web al pasar a siguientes páginas en estos casos:

Por ejemplo si busco "Lady Gaga", la barra de dirección muestra "http://www.lastmusic.es/?s=lady+gaga", pero al pasar a la segunda página aparece "http://www.lastmusic.es/?s=ladygaga&paged=2", despareciendo el símbolo "+" que hace que no resulte la búsqueda. No se como solucionarlo...

2- Me gustaría que las búsquedas solo tuvieran en cuenta los títulos de los posts, ¿como puedo hacer esto?


Espero vuestra ayuda, muchas gracias y un saludo ;)
  #2 (permalink)  
Antiguo 15/06/2011, 08:42
Avatar de Nekko
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Buenos Aires
Mensajes: 3.141
Antigüedad: 16 años, 1 mes
Puntos: 656
Respuesta: Problemas con el search.php

Qué código tenés en tu search.php?
__________________
Taller para crear themes wordpress desde cero | Presupuestos para trabajos particulares vía MP
  #3 (permalink)  
Antiguo 15/06/2011, 17:38
Avatar de dropthebass  
Fecha de Ingreso: abril-2008
Mensajes: 27
Antigüedad: 16 años
Puntos: 0
Respuesta: Problemas con el search.php

Hola Nekko! el código es:

Cita:
<?php get_header(); ?>



<?php include(TEMPLATEPATH . '/php/global-options.php'); ?>

<?php $count = 1; ?>

<!--Content-->
<div id="content">
<table height="120" width="960" background="http://www.lastmusic.es/wp-content/themes/deep-blue/images/fondo_publi.png">
<tr>

<td width="960">

<center><script type="text/javascript"><!--
google_ad_client = "ca-pub-0208941898340946";
/* Banner Alargado Grande */
google_ad_slot = "4071794342";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</center>
<a href="http://www.lastmusic.es/?page_id=788"><font color="#FFFFFF" size="1"><b>ANUNCIATE AQUI</b></font></a>
</td>
</tr>
</table>
<div id="content-top">
<div id="content-bottom">
<!--Left Col-->
<div id="left-col">
<div id="left-col-top">
<div id="left-col-bottom">

<?php if (have_posts()) : ?>

<h2 class="archive-title">Resultados de busqueda:</h2>

<?php while (have_posts()) : the_post(); ?>

<!--Post-->
<div <?php post_class('single-post-unique'); ?> id="post-<?php the_ID(); ?>">

<div class="single-post-head">
<h2 class="single-post-title">
<a href="<?php the_permalink(); ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a>
</h2>
<span class="single-post-comments"><?php if (!empty($post->post_password)) {} else { comments_popup_link('0', '1', '%', '', ''); } ?></span>
<div class="clear"></div>
</div><div <?php post_class(); ?> id="post-<?php the_ID(); ?>">
<img src="http://www.lastmusic.es/wp-content/themes/deep-blue/images/trans2.png" />
<?php if(function_exists(getILikeThis)) getILikeThis('get'); ?>
</div>

<div class="clear"></div>

<?php the_content(''); ?>
<br /><br /><span class="single-post-meta">Publicado: <?php the_time('j F, Y'); ?> a las <?php the_time(); ?></span>
<div class="clear"></div>

<?php edit_post_link('<br />','',''); ?>

<div class="meta-cats-tags">
<div class="meta-cats <?php if (!has_tag()) : ?>meta-cats-full<?php endif; ?>">
<span class="meta-cats-icon">Estilo/s:</span> <?php the_category(', ') ?>
</div>
<div class="meta-tags">
<?php if (has_tag()) : ?><?php the_tags('<span class="meta-tags-icon">Tags:</span> ', ', ', ''); ?><?php endif; ?>
</div>
</div>

<br />

<a class="read-more" rel="nofollow" href="<?php the_permalink(); ?>#more-<?php the_ID(); ?>">Continue Reading</a>

</div>
<!--Post End-->

<div class="clear"></div>

<?php if ($count == 1) : ?>
<!--468x60-->
<?php if ($at_468_after_post_display == 'Disable') {} else { include(TEMPLATEPATH . '/php/468x60.php'); } ?>
<!--468x60 End-->
<?php endif; $count++; ?>

<img class="post-divider" src="<?php bloginfo("template_directory"); ?>/images/post_divider.png" width="478" height="26" alt="" />

<?php endwhile; else: ?>

<div class="single-post-unique">

<div class="single-post-head">
<h2 class="single-post-title">Lo sentimos.</h2>
</div>

<div class="clear"></div>

<p>No encontramos resultados para tu busqueda.</p>

</div>

<?php endif; ?>

<div class="page-navi">

<?php global $wp_rewrite;
$wp_query->query_vars['paged'] > 1 ? $current = $wp_query->query_vars['paged'] : $current = 1;

$pagination = array(
'base' => @add_query_arg('paged','%#%'),
'format' => '',
'total' => $wp_query->max_num_pages,
'current' => $current,
'end_size' => 4,
'mid_size' => 4,
'type' => 'plain',
);

if ($wp_rewrite->using_permalinks())
$pagination['base'] = user_trailingslashit(trailingslashit(remove_query_ arg('s',get_pagenum_link(1))) . 'page/%#%/', 'paged');

if (!empty($wp_query->query_vars['s']))
$pagination['add_args'] = array('s'=>get_query_var('s'));

echo paginate_links($pagination); ?>

</div>
<div class="clear"></div>

</div>
</div>
</div>
<!--Left Col End-->
<?php get_sidebar(); ?>
</div>
</div>
</div>
<!--Content End-->
</div>
<!--Wrapper End-->
<?php get_footer(); ?>
  #4 (permalink)  
Antiguo 28/06/2011, 07:40
Avatar de Nicoeas  
Fecha de Ingreso: abril-2011
Ubicación: Argentina
Mensajes: 85
Antigüedad: 13 años
Puntos: 8
Respuesta: Problemas con el search.php

Primero que nada, no seas impaciente y deja de decir:

Cita:
up!!!!!!!!!!!
Segundo, yo creo que el problema está en el archivo functions.php.....

Y por último, pasame el link de tu sitio asi lo pruebo.... Suerte!
__________________
Nicoeas
  #5 (permalink)  
Antiguo 28/06/2011, 15:54
Avatar de Nekko
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Buenos Aires
Mensajes: 3.141
Antigüedad: 16 años, 1 mes
Puntos: 656
Respuesta: Problemas con el search.php

No realizaste ningún tipo de prueba para ver que puede ser?

Fijate si podés borrar esto:
Código:
<?php global $wp_rewrite;
$wp_query->query_vars['paged'] > 1 ? $current = $wp_query->query_vars['paged'] : $current = 1;

$pagination = array(
'base' => @add_query_arg('paged','%#%'),
'format' => '',
'total' => $wp_query->max_num_pages,
'current' => $current,
'end_size' => 4,
'mid_size' => 4,
'type' => 'plain',
);

if ($wp_rewrite->using_permalinks())
$pagination['base'] = user_trailingslashit(trailingslashit(remove_query_ arg('s',get_pagenum_link(1))) . 'page/%#%/', 'paged');

if (!empty($wp_query->query_vars['s']))
$pagination['add_args'] = array('s'=>get_query_var('s'));

echo paginate_links($pagination); ?>
Y colocar esto:
Código:
<?php posts_nav_link(); ?>
Pero la verdad es que estoy un poco a ciegas, no conozco el theme.
__________________
Taller para crear themes wordpress desde cero | Presupuestos para trabajos particulares vía MP
  #6 (permalink)  
Antiguo 08/07/2011, 21:32
Avatar de dropthebass  
Fecha de Ingreso: abril-2008
Mensajes: 27
Antigüedad: 16 años
Puntos: 0
Respuesta: Problemas con el search.php

Cita:
Iniciado por Nicoeas Ver Mensaje
Primero que nada, no seas impaciente y deja de decir:



Segundo, yo creo que el problema está en el archivo functions.php.....

Y por último, pasame el link de tu sitio asi lo pruebo.... Suerte!

Perdon por el retraso pero he estado un poco desconectado, gracias por contestar.

Mi Web es [URL="http://www.lastmusic.es"]www.lastmusic.es[/URL]

He podido solucionar el tema de las búsquedas de nombres compuestos, gracias al consejo del compañero ahora va perfecto, solo me queda limitar las búsquedas a los títulos de los posts y no doy con ello...
  #7 (permalink)  
Antiguo 08/07/2011, 21:34
Avatar de dropthebass  
Fecha de Ingreso: abril-2008
Mensajes: 27
Antigüedad: 16 años
Puntos: 0
Respuesta: Problemas con el search.php

Cita:
Iniciado por Nekko Ver Mensaje
No realizaste ningún tipo de prueba para ver que puede ser?

Fijate si podés borrar esto:
Código:
<?php global $wp_rewrite;
$wp_query->query_vars['paged'] > 1 ? $current = $wp_query->query_vars['paged'] : $current = 1;

$pagination = array(
'base' => @add_query_arg('paged','%#%'),
'format' => '',
'total' => $wp_query->max_num_pages,
'current' => $current,
'end_size' => 4,
'mid_size' => 4,
'type' => 'plain',
);

if ($wp_rewrite->using_permalinks())
$pagination['base'] = user_trailingslashit(trailingslashit(remove_query_ arg('s',get_pagenum_link(1))) . 'page/%#%/', 'paged');

if (!empty($wp_query->query_vars['s']))
$pagination['add_args'] = array('s'=>get_query_var('s'));

echo paginate_links($pagination); ?>
Y colocar esto:
Código:
<?php posts_nav_link(); ?>
Pero la verdad es que estoy un poco a ciegas, no conozco el theme.
Muchas gracias por contestar y resolver una de las dudas, ha sido cambiar el código y resolverse el problema, ahora las búsquedas de nombres compuestos se realizan bien. Solo me falta limitar las búsquedas a los títulos de los posts, a ver si álguien puede dar con ello, mucha gracias otra vez ;)
  #8 (permalink)  
Antiguo 09/07/2011, 06:47
Avatar de dropthebass  
Fecha de Ingreso: abril-2008
Mensajes: 27
Antigüedad: 16 años
Puntos: 0
Respuesta: Problemas con el search.php

Ya he podido solucionarlo, os pongo como se pueden limitar las búsquedas solo al título del post por si a álguien le interesa:

Cita:
1.abrir wp-includes/query.php

2.buscar
$search .= "{$searchand}((post_title LIKE '{$n}{$term}{$n}') OR (post_content LIKE '{$n}{$term}{$n}'))";

3.quitar la parte del OR para ser específico

$search .= "{$searchand}((post_title LIKE '{$n}{$term}{$n}'))";

4.cambiar por

$search .= "{$searchand}((post_title='{$term}'))";

5. hay 2 lineas con este codigo y se deben cambiar las dos para que funcione

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:31.