複数のドロップダウン選択フィールドに分類データを表示するフロントエンド投稿システムを実装しようとしています。ドロップダウンのそれぞれは、「名前」を用いて命名される$arg
でwp_dropdown_categories()
。
wp_dropdown_categories( array(
'taxonomy' => 'location',
'hide_empty' => 0,
'orderby' => 'name',
'order' => 'ASC',
'name' => 'location',
) );
ご覧のとおり、分類法は「場所」であり、選択名も「場所」です。
その後、post_title、post_contentなどとともに、そのような分類選択ドロップダウンのそれぞれに変数を追加します。
$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'] );
最後に、送信する準備ができている配列に追加情報を追加しwp_insert_post()
ます。私はtax_input
これが私がする必要があるコーデックスから理解していることなので、私は下のような配列に追加することによって正しいことをやっているかどうかにかなり固執しています。
'tax-input' => array(
$location,
$sale_rental,
$price
),
その結果、すべてが次のようになります。
$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 );
ただし、新しい投稿を送信すると、すべての標準的な投稿データ(およびカスタムの投稿タイプ)は正常になりますが、分類法はそうではありません。私は明らかに何か間違ったことをしていますが、何ですか?