Skip Navigation

[Resuelto] Mensaje inicial en view

This support ticket is created hace 2 años, 7 meses. There's a good chance that you are reading advice that it now obsolete.

Este es el foro de soporte técnico para Toolset: un paquete de plugines para el desarrollo de sitios WordPress sin escribir PHP.

Cualquier persona puede leerlo, pero solo los clientes de Toolset pueden publicar en este foro. El soporte de Toolset atiende 6 días a la semana, 19 horas por día.

Etiquetado: 

This topic contains 2 respuestas, has 2 mensajes.

Last updated by juanC-8 hace 2 años, 7 meses.

Assigned support staff: Nigel.

Autor
Mensajes
#1348015

Buenos dias,

Estoy en un buscador y quiero que no me salga ningun resultado inicial, para ello estoy usando esta funcion:

function tssupp_no_initial_results( $query_results, $view_settings, $view_id ){

$target_views = array( 572,557,51563,54466,52009,32296,60473); // Insertar el ID de la view

if ( in_array( $view_id, $target_views ) ) {

// Si existe un filtro
if ( !isset( $query_results->query['meta_query'] ) && !isset( $query_results->query['tax_query'] ) && !isset( $query_results->query['s'] ) ) {
$query_results->posts = array();
$query_results->post_count = 0;
$query_results->found_posts = 0;
add_filter( 'wpv_view_settings', 'ts_modify_rendered_view', 30, 2 );
}
}

return $query_results;
}
add_filter( 'wpv_filter_query_post_process', 'tssupp_no_initial_results', 10, 3 );

function ts_modify_rendered_view( $view_settings, $view_id ) {

$view_settings['pagination']['type'] = 'disabled';

return $view_settings;
}

En el loop tengo puesto el siguiente codigo:

[wpv-no-items-found]
<div><label>No se han encontrado resultados</label></div>
[/wpv-no-items-found]

El problema es que inicialmente cuando entro en la view me sale ese mensaje por defecto y cuando quiero hacer una busqueda en la que no haya resultados me gustaria que saliese.

Hay alguna opcion?Gracias!

#1348103

Nigel
Supporter

Languages: Inglés (English ) Español (Español )

Timezone: Europe/London (GMT+01:00)

Hola Juan

Soy el autor de este código, y puedo decir que con este enfoque no es posible.

Pero, he pensado más... y veo que la solución es bastante sencillo.

Deja usar este código.

Cuando envías una búsqueda el URL actualiza con unos parámetros, incluso wpv_view_count.

Entonces puedes usar un shortcode condicionál para probar si está presente ó no y así decidir si dar salida a los resultados, así:

[wpv-layout-start]
	[wpv-items-found]
	<!-- wpv-loop-start -->
	[wpv-conditional if="( '[wpv-search-term param='wpv_view_count']' ne '' )"]
		<wpv-loop>
          <h3>[wpv-post-link]</h3>
		</wpv-loop>
	[/wpv-conditional]
	<!-- wpv-loop-end -->
	[/wpv-items-found]
	[wpv-no-items-found]
		<strong>[wpml-string context="wpv-views"]No items found[/wpml-string]</strong>
	[/wpv-no-items-found]
[wpv-layout-end]
#1348133

Muchas gracias Nigel!

Al final he quitado la funcion que hiciste y lo he hecho como me has dicho.

La que he mantenido ha sido la de la paginacion para que no aparezca en caso de no haber resultados