¿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".

0
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;
}
13 feb 2013 22:02:13
Comentarios

Eugene - parece que esto funcionaría, pero en realidad excluye todos los resultados en todos los tipos de entradas y páginas.

Ray Gulick Ray Gulick
13 feb 2013 22:25:45
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);
13 feb 2013 21:57:20
Comentarios

Esta es una consulta para listados, ¿verdad?. Específicamente intentando excluir de los resultados de búsqueda.

Ray Gulick Ray Gulick
13 feb 2013 22:22:11