Tôi đang cố gắng thực hiện một hệ thống đăng bài mặt trước hiển thị dữ liệu phân loại trong một số trường chọn thả xuống. Mỗi danh sách thả xuống được đặt tên bằng cách sử dụng "tên" $arg
trong wp_dropdown_categories()
.
wp_dropdown_categories( array(
'taxonomy' => 'location',
'hide_empty' => 0,
'orderby' => 'name',
'order' => 'ASC',
'name' => 'location',
) );
Như bạn có thể thấy phân loại là "địa điểm" và tên chọn cũng là "địa điểm".
Sau đó, tôi thêm các biến cho từng danh sách phân loại chọn như vậy cùng với post_title, post_content, v.v.
$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'] );
Cuối cùng tôi thêm thông tin bổ sung vào một mảng sẵn sàng để được gửi bởi wp_insert_post()
. Tôi khá bế tắc về việc liệu tôi có đang làm đúng hay không bằng cách thêm tax_input
vào mảng như dưới đây vì đây là điều tôi hiểu từ codex mà tôi cần phải làm.
'tax-input' => array(
$location,
$sale_rental,
$price
),
Vì vậy, tất cả kết thúc giống như thế này:
$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 );
Tuy nhiên, khi tôi gửi bài đăng mới, tất cả dữ liệu bài đăng tiêu chuẩn (và cả loại bài đăng tùy chỉnh của tôi) đều ổn nhưng các phân loại thì không. Tôi rõ ràng đang làm gì đó sai nhưng những gì?