Publié le 24 novembre 2014 dans CMS WordPress

Pour certains formulaire, j’utilise le plugin payant Gravity Forms qui permet de faire des formulaires avancés.

Le hack suivant vous permettra de remplir dynamiquement un select, il est à placer dans le fichier functions.php de votre thème.

add_filter('gform_pre_render_2', 'populate_posts'); // Changer le '2' par l'ID de votre formulaire
function populate_posts($form){
	foreach($form['fields'] as &$field){
		if($field['cssClass'] == 'NOM_CLASSE'){ // Nom de la classe que vous avez mis dans le formulaire
			$taxonomies = array('NOM_TAXO');
			$arg_taxo = array('orderby'=>'name', 'order'=>'ASC'); 
			$categories = get_terms($taxonomies, $arg_taxo);
			$choices = array(array('text' => 'Indifférent', 'value' => ' ')); // Changer 'Indifférent' par ce que vous souhaitez
			foreach($categories as $categorie) $choices[] = array('text' => $categorie->name, 'value' => $categorie->slug);
			$field['choices'] = $choices;
		}
	}
	return $form;
}

Et voilà !

Source