Customisation du formulaire de recherche wordpress

Fermé
Shepard_Daillec Messages postés 13 Date d'inscription mardi 30 juillet 2013 Statut Membre Dernière intervention 31 janvier 2020 - 3 oct. 2013 à 16:25
 Profil bloqué - 14 nov. 2013 à 09:40
Bonjour,



Je suis en train de travailler sur un site wdp et je bloque sur une ligne de code depuis hier.
Le problème est simple (la solution moins semble-t-il^^) :
Dans le formulaire de recherche affiché sur la page d'accueil, je souhaite ajouter un menu déroulant listant des catégories spécifiques afin de limiter la recherche uniquement aux articles appartenant à la catégorie sélectionnée.

Après pas mal de recherches, j'ai compris qu'il n'était pas possible de lister à la main dans le code les catégories que je souhaite voir apparaitre dans le menu déroulant.
En revanche, il semble possible de n'afficher que les catégories dites "filles" d'une catégorie mère.

J'ai trouvé des infos sur cette page dans un premier temps :
https://codex.wordpress.org/Function_Reference/wp_dropdown_categories

J'ai donc essayé cette méthode avec le code suivant :

<?php 
$searchtext = get_option('ka_searchbartext');
$args = array(
'show_option_all' => '',
'show_option_none' => '',
'orderby' => 'ID',
'order' => 'ASC',
'show_count' => 0,
'hide_empty' => 1,
'child_of' => 'categoriemere',
'exclude' => '',
'echo' => 1,
'selected' => 0,
'hierarchical' => 0,
'name' => 'cat',
'id' => '',
'class' => 'postform',
'depth' => 0,
'tab_index' => 0,
'taxonomy' => 'category',
'hide_if_empty' => false,
'walker' => '');

?>
<form method="get" action="<?php echo home_url(); ?>/" class="search-form">
<fieldset>
<span class="text">
<input type="text" name="s" class="s" value="<?php echo $searchtext; ?>" onfocus="this.value=(this.value=='<?php echo $searchtext; ?>') ? '' : this.value;" onblur="this.value=(this.value=='') ? '<?php echo $searchtext; ?>' : this.value;" />
<?php
wp_dropdown_categories( $args );
?>
<br />
<input type="submit" value="Lancer la recherche" class="searchsubmit" />
</span>
</fieldset>
</form>
<br />

Le soucis, c'est que si le menu déroulant apparaît, il reste totalement vide et ne me propose aucune option, malgré plusieurs essais de variantes (nom de la catégorie mère avec ou sans espace, essais de variantes de syntaxe...)

A noter que je ne suis pas programmeur à la base et je suis encore débutant sur wordpress malgré quelque mois de pratique, je n'ai donc pas la vision du problème que peut avoir quelqu'un d'expérimenté :)

Pourriez vous m'éclairer? le projet travaillé est important et je perd un temps précieux à bloquer sur cette ligne quand tout le reste avance bien...

Merci pour votre aide :)
A voir également:

1 réponse

Pourquoi ne pas utiliser la fonction get_categories avec pour argument le nom de la catégorie parent ? https://developer.wordpress.org/reference/functions/get_categories/

C'est une piste.
0