Limitar los resultados de «Multisite Global Search» plugin para Wordpress

Muchos webmasters tienen instalado la versión Multisitios de Wordpress, este es útil para administrar un multiblog con una sola administración.

El plugin «Multisite Global Search» permite agregar un buscador en cualquier bitácora de la red (o en todos) y conseguir resultados en la página del blog administrador del multisitios.

Normalmente si la búsqueda genera muchos resultados el php generará un error de falta de memoria:

Fatal error: Allowed memory size of 33554432 bytes exhausted ...


Este error se puede solucionar limitando el número de resultados para lo cual hay que editar el archivo shortcodes.php ubicado en la carpeta /inc del plugin.

En la línea 219 encontrarás el comentario:   // Show private posts  busca la línea:

"AND ( post_status = 'publish' OR post_status = 'private' ) AND ".$post_type." ORDER BY ".$wpdb->base_prefix."v_posts.blog_id ASC, ".$wpdb->base_prefix."v_posts.post_date DESC, ".$wpdb->base_prefix."v_posts.comment_count DESC" );

Y reemplázala por:

"AND ( post_status = 'publish' OR post_status = 'private' ) AND ".$post_type." ORDER BY ".$wpdb->base_prefix."v_posts.blog_id ASC, ".$wpdb->base_prefix."v_posts.post_date DESC, ".$wpdb->base_prefix."v_posts.comment_count DESC LIMIT 30" );

Tres líneas más abajo busca:

"AND post_status = 'publish' AND ".$post_type." ORDER BY ".$wpdb->base_prefix."v_posts.blog_id ASC, ".$wpdb->base_prefix."v_posts.post_date DESC, ".$wpdb->base_prefix."v_posts.comment_count DESC" );

Y reemplázalo por:

"AND post_status = 'publish' AND ".$post_type." ORDER BY ".$wpdb->base_prefix."v_posts.blog_id ASC, ".$wpdb->base_prefix."v_posts.post_date DESC, ".$wpdb->base_prefix."v_posts.comment_count DESC LIMIT 30" );

Técnicamente lo único que hemos hecho es agregar: LIMIT 30

------- o -------
Tips:
- For run a multisite with a large database. 
- The search is running slow because there is no pagination.
- For a database very large.

Comentarios

  1. excelente, hice el cambio y trabaja muy bien.

    ahora, cómo puedo hacer la paginación? hay un cambio así de simple?

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

Superponer una imagen sobre otra con CSS

Script para buscar palabras o textos en una página (html) con Jquery

¿Ganas dinero en Facebook con Página, Grupo, Comunidad, etc?