¿Cómo excluir un tipo de entrada personalizada de la búsqueda por valor de campo personalizado?
13 feb 2013, 21:18:22
Vistas: 2.03K
Votos: 0
No he podido encontrar información sobre cómo hacer esto, o si siquiera es posible.
Lo que quiero hacer es no mostrar resultados de búsqueda en el tipo de entrada personalizada "resources" donde "resource_usertype" (clave) no sea "Public", "Students" o "Alumni" (valores).
O tal vez una mejor manera de decirlo es mostrar solo los resultados de búsqueda donde los valores de "resource_usertype" sean "Public", "Students" o "Alumni".

Ray Gulick
526
Todas las respuestas a la pregunta
2
1
Necesitas implementar un hook para el filtro pre_get_posts
, en el cual puedes configurar lo que necesites. Presta atención que solo debes modificar la consulta de búsqueda, por lo que debes verificar si el método is_search()
devuelve verdadero. El hook debe verse así:
add_filter( 'pre_get_posts', 'wpse8170_pre_get_posts' );
function wpse8170_pre_get_posts( WP_Query $query ) {
if ( $query->is_search() ) {
$query->set( 'post_type', array( 'resources' ) );
$query->set( 'meta_query', array(
array(
'key' => 'resource_usertype',
'value' => array('Public', 'Students', 'Alumni'),
'compare' => 'IN',
)
) );
}
return $query;
}

Eugene Manuilov
11.4K
13 feb 2013 22:02:13
1
¡Es perfectamente posible!
$args = array(
'post_type' => 'resources',
'meta_query' => array(
array(
'key' => 'resource_usertype',
'value' => array('Público', 'Estudiantes', 'Alumni'), // Traducidos los valores del array
'compare' => 'IN',
)
)
);
$query = new WP_Query($args);

vancoder
7.91K
13 feb 2013 21:57:20
Preguntas relacionadas
0
respuestas
1
respuestas