не работает вывод содержимого мета полей – WordPress

Доброго всем дня,
столкнулся с такой проблемой:
создал meta_box и два мета поля.
В админке все отображается и если заполнять, то выводится в запись. Т е работает как надо.
Таким же образом вывел мета поля на кастомную страницу добавления записи – для пользователя.
И вот с кастомной страницы, когда заполняю метаполя – они не отображаются (не передаются в базу).

Тема построена следующим образом: записи условно разделены на 3 типа. Таким образом в админке отображаются стандартные записи, записи с post_type=task и post_type=service.

вот так создаю метаполя в functions.php
//создаем оласть для дополнительных полей
add_action(‘add_meta_boxes’, ‘more_fields_meta_box’);
function more_fields_meta_box() {
$morefields = array(‘service’, ‘task’);
foreach($morefields as $morefield){
add_meta_box(‘more_fields_meta_box’, ‘Дополнительные поля для заполнения:’, ‘more_fields_callback’, $screen);
}
}
//Выводим поля для заполнения в эту область
function more_fields_callback($post){
?>
<ul id="post-new5">
<li>
<h2><?php echo __(‘Введите место, например: ТРЦ АРЕНА. ‘); ?>:</h2>
<p><input type="text" size="20" name="place_field" class="do_input" value="<?php echo get_post_meta($post->ID, ‘place_field’, true); ?>" /></p>
</li>
<li>
<h2><?php echo __(‘Введите размер скидки:’); ?>:</h2>
<p><input type="text" size="20" name="Discnum_field" class="do_input" value="<?php echo get_post_meta($post->ID, ‘Discnum_field’, true); ?>" /></p>
</li>
</ul>
<?php
}
//Сохраняем введенные данные а так же объявляем переменные которые передают значения полей.

add_action(‘save_post’, ‘more_fields_save_box_data’);
function more_fields_save_box_data($post_id){
if(defined(‘DOING_AUTOSAVE’) && DOING_AUTOSAVE) return;

$morefields = array(‘service’, ‘task’);
if(isset($_POST[‘post_type’]) && in_array($_POST[‘post_type’], $morefields)){
if(!current_user_can(‘edit_page’, $post_id)) return;
}else{
if(!current_user_can(‘edit_post’, $post_id)) return;
}

$fields = array(‘place_field’ , ‘Discnum_field’);
foreach($fields as $field){
$data = sanitize_text_field($_POST[$field]);
update_post_meta($post_id, $field, $data);
}
}

вот так вывожу их в записи
<?php
$placefield = get_post_meta(get_the_ID(),’place_field’,true);
printf ($placefield);
$Discnumfield = get_post_meta(get_the_ID(),’Discnum_field’,true);
printf ($Discnumfield);
?>

Пробую выводить поля на кастомную страницу создания записи – мета поля не передаются – точнее их значение..

Куда копать? что проверить?

Не совсем понятен вопрос: вы имеете ввиду, что у вас на фронте есть некая форма добавления кастомного поста. И при его добавлении не заполняются мета поля?

Anonymous
Отправить
Ответ на: