Comment créer WP Formulaire de recherche avec catégorie et sous-catégorie
pour illustrer un formulaire de recherche (pour titre de recherche Book = title post)
Avec condition Par mot-clé, Par toutes les catégories et sous-catégories sélectionnées
Où, sous-catégorie (CD, PDF, EPub, ...)
Je regarde autour de moi pendant une semaine mais sans succès,
Aidez-moi, s'il vous plaît ... => Pour le blog My Client for CMS Ebook
J'ai modifié mon formulaire comme ceci:
<?php $media = array(
'hierarchical' => 1,
'parent' => get_cat_id('Media'),
'show_option_none' => ('All Media'),
'hide_empty' => 0 );
?>
<form method="get" id="searchform" action="<?php bloginfo('url'); ?>/">
<div>
<input type="text" value="<?php the_search_query(); ?>" name="s" id="s" />
<?php wp_dropdown_categories('show_option_none=All Category'); ?>
<?php wp_dropdown_categories($media); ?>
<input type="submit" id="searchsubmit" value="search" />
</div>
</form>
Comment créer à nouveau une fonction ou un formulaire modifié? Sans plugin ...
Pour une réponse détaillée, je vous en suis très reconnaissant !!!
Vous devez d’abord donner les noms de vos listes déroulantes afin:
<?php $media = array(
'name' => 'subcat',
'hierarchical' => 1,
'parent' => get_cat_id('Media'),
'show_option_none' => ('All Media'),
'hide_empty' => 0 );
?>
<form method="get" id="searchform" action="<?php bloginfo('url'); ?>/">
<div>
<input type="text" value="<?php the_search_query(); ?>" name="s" id="s" />
<?php wp_dropdown_categories('name=maincat&show_option_none=All Category'); ?>
<?php wp_dropdown_categories($media); ?>
<input type="hidden" id="my_search" name="my_search" value="c_search" />
<input type="submit" id="searchsubmit" value="search" />
</div>
</form>
Puis créez votre filtre de recherche
// Define search filter
function search_filter( $query ) {
// only modify your custom search query.
if ( $query->is_search && $_post['my_search'] == "c_search") {
$args = array(
'relation' => 'AND',
array(
'taxonomy' => 'category',
'field' => 'id',
'terms' => array( $_post['maincat']),
'operator' => 'IN'
),
array(
'taxonomy' => 'category',
'field' => 'id',
'terms' => array( $_post['subcat']),
'operator' => 'IN'
)
);
$query->set( 'tax_query', $args);
}
return $query;
}
// The hook needed to search_filter
add_filter( 'the_search_query','search_filter');