Intereting Posts
Функция поиска jQuery не работает в WordPress, но выполняется локально (скрипка) Как остановить WordPress от отправки писем? Получение изображения страницы блога, а не изображения В цикле пользовательского типа сообщения отобразите первый пользовательский таксономический термин Как узнать, какая кнопка отправки нажата пользователем? Передача строки JQuery в URL Worldpress Пользовательский поиск формы в wordpress Выделенное почтовое мета-поле против количества мета-полей Ошибка при создании проблемы подключения к базе данных в xampp saver Изменение значения привязки привязки верхнего меню ссылки после онлайн-сервера? Загрузка файла переднего конца, возвращающего неправильный URL-адрес приложения Запросы Mysql за посещение – Crazy High Добавление автоматического заполнения в настраиваемое гравитационное поле не работает Показывать комментарии верхнего уровня, упорядоченные по количеству ответов Получите изображение из медиа-библиотеки. Борьба с кодом?

Пользовательский метабокс не сохраняет данные

Меня беспокоит пользовательский обмен веществ, может кто-нибудь дать мне руку помощи? У меня есть пользовательский тип сообщения, который его использует, но, к сожалению, он не хранит данные в базе данных.

Любая подсказка?

add_action( 'add_meta_boxes', 'beef_meta_box_add' ); function beef_meta_box_add() { add_meta_box( 'beef-metabox', 'Custom Product Settings', 'beef_meta_box_cb', 'product', 'normal', 'high' );} function beef_meta_box_cb() { global $post; $values = get_post_custom( $post->ID ); $price = isset( $values['beef_meta_box_price'] ) ? $values['beef_meta_box_price'] : ''; wp_nonce_field( 'beef_meta_box_nonce', 'meta_box_nonce' ); ?> <p> <label for="beef_meta_box_price">price n stuff</label> <input type="text" name="beef_meta_box_price" id="beef_meta_box_price" value="<?php echo $price; ?>" /> </p> <?php } add_action( 'save_post', 'beef_meta_box_save' ); function beef_meta_box_save( $post_id ) { if( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return; if( !isset( $_POST['meta_box_nonce'] ) || !wp_verify_nonce( $_POST['meta_box_nonce'], 'beef_meta_box_nonce' ) ) return; if( !current_user_can( 'edit_post' ) ) return; $allowed = array( 'a' => array( 'href' => array() ) ); if( isset( $_POST['beef_meta_box_price'] ) ) update_post_meta( $post_id, 'beef_meta_box_price', wp_kses( $_POST['beef_meta_box_price'], $allowed ) ); } 

Вы уверены, что не сохраняете значения в БД? Возможно, это просто не отображает ранее сохраненные значения в вашей форме?

 $values = get_post_custom( $post->ID ); 

Это то, что вы используете для получения мета, но это возвращает многомерный массив . Поэтому при доступе к вашему значению beef_meta_box_price вам нужно использовать $ values ​​['beef_meta_box_price'] [0]. В качестве альтернативы замените get_post_custom (который возвращает все мета для сообщения) с помощью get_post_meta :

 $beef_meta_box_price = get_post_custom( $post->ID, 'beef_meta_box_price', true ); 

Таким образом, вы не получите массив, просто строку.