web-dev-qa-db-fra.com

J'ai besoin de créer un formulaire de recherche qui affichera les résultats de recherche d'une catégorie spécifique

J'essaie de créer un champ de recherche personnalisé qui affichera les messages d'une catégorie spécifique selon mon choix.

Chaque terme qui sera soumis dans la zone de recherche appliquera la recherche dans les données d'une catégorie, ce qui affichera uniquement les publications correspondant aux termes de recherche de la catégorie.

Par exemple, mon site WordPress contient une catégorie de musique et la boîte de recherche standard affiche les résultats de toutes les catégories. Une boîte de recherche de catégorie personnalisée affiche uniquement les résultats de la catégorie de musique.

Si tu peux m'aider, s'il te plaît, répond Shay.

1
Shay S

Vous pouvez utiliser WP_query() pour affiner les résultats de votre recherche:

<?php $args = array(
    's' => $_GET['s'],
    'post_type' => array( 'post', 'page' ),
    'post_status' => 'publish',
    'category_name' => 'music',
    'posts_per_page' => -1
);
$custom_search = new WP_Query( $args );
if ( $custom_search->have_posts() ) {
    while ( $custom_search->have_posts() ) : $custom_search->the_post(); ?>
         <div class="entry-content">
            <h2 class="title"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
            <?php the_excerpt(); ?>
        </div>

    <?php endwhile;

} else { ?>
    <h2>Your search didn't return any results.</h2>
<?php } ?>
1
Pim