wp_insert_post не вставляет пользовательские поля - PullRequest
0 голосов
/ 06 марта 2020

Я создал новые столбцы в моей таблице. Но всякий раз, когда я пытаюсь вставить значения в него через wp_insert_post, это не получается. Все остальные поля получают свои значения правильно, кроме этого

'base_deluxe_price' => $_POST['deluxeRoomPrice'],

Полный код ниже

wp_insert_post(array(
        'post_author' => get_the_author_ID(),
        'post_type' => 'hotels',
        'post_title' => wp_strip_all_tags($_POST['title']),
        'post_content' => $_POST['hotel_content'],
        'base_deluxe_price' => $_POST['deluxeRoomPrice'],
        'post_status' => 'publish'
    ), true);

Пожалуйста, помогите

Кажется, теперь работает, когда я использую код ниже. Но код работает при загрузке страницы и при нажатии кнопки. Кроме того, пользовательские значения не отображаются в wp- json. Любая помощь очень ценится.

if (isset($_POST['saveHotel'])) {
        global $wpdb;
        $data_array = array(
            'post_author' => get_the_author_meta('ID'),
            'post_type' => 'hotels',
            'post_title' => $_POST['title'],
            'post_content' => $_POST['hotel_content'],
            'base_deluxe_price' => $_POST['deluxeRoomPrice'],
            'post_status' => 'publish'
        );

        $table_name = 'wp_posts';

        $rowResult = $wpdb->insert($table_name, $data_array, $format->NULL);
    }

1 Ответ

1 голос
/ 06 марта 2020

Надеюсь, это поможет вам.

$insert_post = array(
        'post_author' => get_the_author_ID(),
        'post_type' => 'hotels',
        'post_title' => wp_strip_all_tags($_POST['title']),
        'post_content' => $_POST['hotel_content'],
        'post_status' => 'publish'
  );

$post_id = wp_insert_post($insert_post);

add_post_meta($post_id, 'base_deluxe_price', $_POST['deluxeRoomPrice'], true);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...