У меня есть кнопка во внешнем интерфейсе, и как только я нажал на нее, вошедшие и не вошедшие пользователи оставили сообщение, и я использую функцию wp_insert_post () для добавления нового сообщения, вот мой код:
$post_id = wp_insert_post(array (
'post_type' => 'messages',
'post_title' => $title,
'post_content' => $message,
'post_excerpt' => $excerpt,
'post_status' => 'publish',
'comment_status' => 'closed',
'post_author' => 1,
'ping_status' => 'closed',
'tax_input' => array(
'message-category' => array(26),
)
));
Но кроме добавления нового поста, мне нужно также установить категорию таксономии. Но категория устанавливается только тогда, когда пользователь вошел в систему. Для не авторизованных пользователей она не работает. Я попытался добавить post_author (проверьте выше), но опять же это не помогает.
Также пытался использовать функцию ниже, но снова не повезло, и категория не устанавливается, когда не авторизованные пользователи оставили сообщение:
wp_set_object_terms( $post_id, array(26), 'message-category', true );
А также пробовал с post_category
но опять не повезло.
Есть идеи, пожалуйста?
Ты можешь использовать post_category
в качестве аргумента wp_insert_post
функция. Пожалуйста, обратитесь к доктор.
Ваша функция должна выглядеть так:
`
$post_id = wp_insert_post(array (
'post_type' => 'messages',
'post_title' => $title,
'post_content' => $message,
'post_excerpt' => $excerpt,
'post_status' => 'publish',
'comment_status' => 'closed',
'post_author' => 1,
'ping_status' => 'closed',
'post_category' => array(6)
)
);
`
Других решений пока нет …