Estoy tratando de buscar dentro de una sola categoría en wordpress usando el siguiente código
`
$args = new WP_Query( 'cat=199' ); if( $args->have_posts() ){ while ( $args->have_posts() ){ $args->the_post(); get_template_part('content', 'what-we-eat'); } ?> <?php } else{ _e( 'Sorry, no posts matched your criteria.' ); }`
sin embargo, los resultados muestran todas las publicaciones dentro de esa categoría aunque el término de búsqueda se actualice con el término de búsqueda utilizado.
¿Alguna idea de dónde me estoy equivocando?
EDITAR
Me di cuenta de que cuando elimino mi consulta personalizada funciona, pero extrae publicaciones de todas las categorías en mi blog, que es lo que no quiero. Así que es una cuestión de excluir todas las demás categorías.
Prueba esto
<?php global $post; $args = array( 'posts_per_page' => 5, 'offset'=> 1, 'category' => 199 ); $myposts = get_posts( $args ); foreach ( $myposts as $post ) : setup_postdata( $post ); ?> <li> <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> </li> <?php endforeach; ?>¿Quieres que la búsqueda estándar de WP funcione en una sola categoría? Intenta agregar este código al functions.php de tu tema:
function search_rules($query) { if ($query->is_search) { $query->set('cat','199'); } return $query; } add_filter('pre_get_posts','search_rules');