Как юзеру добавить пост через форму WordPress?
Всем привет. Пишу для сайта блок "Отзывы". Сам блок с отзывами уже написал, сделал так: зарегистрировал пост тайп, вывел его на страницу с помощью цикла. Для поста взял тайтл, контент, 2 метабокса (рейтинг и имя).
Теперь нужно реализовать создания поста через форму. Вопрос в том, как это сделать? Какая функция добавляет посты?
П.С. нагуглил wp_insert_post(), но что-то мне не совсем понятен механизм, как принимать данные с формы и отправлять на конкретный пост тайп.
Спасибо!
Ответы (1 шт):
Можно аяксом. Который при отправке вашей формы, будет передавать данные на бекенд, где вы уже можете их обработать и добавить запись таким образом:
$post_id = wp_insert_post( [
'post_type' => 'your_post_type',
'post_status' => 'publish',
'post_title' => wp_strip_all_tags( $_POST['review_title'] ),
'post_content' => wp_strip_all_tags( $_POST['review_content'] ),
] );
if( is_wp_error( $post_id ) ){
wp_send_json_error( [ 'message' => $post_id->get_error_message() ], 401 );
}
На счет использования wp_strip_all_tags();, тут уже сами смотрите, каким образом вам нужно очищать входящие данные, в зависимости от формы отзывов.