J'essaie de mettre en œuvre un système d'affichage frontal qui affiche les données de taxonomie dans plusieurs champs de sélection déroulants. Chacune des listes déroulantes est nommée en utilisant le "nom" $arg
dans wp_dropdown_categories()
.
wp_dropdown_categories( array(
'taxonomy' => 'location',
'hide_empty' => 0,
'orderby' => 'name',
'order' => 'ASC',
'name' => 'location',
) );
Comme vous pouvez le voir, la taxonomie est "emplacement" et le nom sélectionné est également "emplacement".
J'ajoute ensuite les variables pour chacune des listes déroulantes de sélection de taxonomie comme ceci avec post_title, post_content etc:
$title = trim( $_POST['wpuf_post_title'] );
$content = trim( $_POST['wpuf_post_content'] );
$tags = wpuf_clean_tags( $_POST['wpuf_post_tags'] );
$customcategory = trim( $_POST['customcategory'] );
$cat = trim( $_POST['cat'] );
$location = trim( $_POST['location'] );
$sale_rental = trim( $_POST['sale_rental'] );
$price = trim( $_POST['price'] );
Enfin, j'ajoute les informations supplémentaires dans un tableau prêt à être envoyé par wp_insert_post()
. Je ne sais pas si je fais la bonne chose en ajoutant tax_input
dans le tableau comme ci-dessous car c'est ce que je comprends du codex que je dois faire.
'tax-input' => array(
$location,
$sale_rental,
$price
),
Pour que tout finisse par ressembler à ceci:
$my_post = array(
'post_title' => $title,
'post_content' => $content,
'post_status' => $post_status,
'post_author' => $userdata->ID,
'post_category' => array( $_POST['cat'] ),
'post_type' => $customcategory,
'tags_input' => $tags,
'tax_input' => array(
$location,
$sale_rental,
$price
),
);
$post_id = wp_insert_post( $my_post );
Cependant, lorsque j'ai soumis le nouveau message, toutes les données standard du message (et aussi mon type de message personnalisé) vont bien, mais les taxonomies ne le font pas. Je fais évidemment quelque chose de mal mais quoi?