WordPress Добавить, обновить и получить сообщение мета не работает - PullRequest
0 голосов
/ 17 октября 2018

Приведенный ниже код добавляется в файл шаблона страницы. Когда кто-либо загружает страницу, он добавляет мета публикации, если она не существует, обновляет мету публикации, если она существует.Когда я получаю мета поста, а затем возвращаю его, в результате получается «Массив».

Это заставляет меня поверить, что мета поста не создается или метод get не работает.

global $post;
if ( ! add_post_meta( $post->ID, 'offer_voucher_evergreen_deadline', '2018-11-16 13:00:00')) { 
    update_post_meta($post->ID, 'offer_voucher_evergreen_deadline', '2018-11-16 13:00:00');
}

$test = get_post_meta($post->ID, 'offer_voucher_evergreen_deadline', true);
echo $test;

1 Ответ

0 голосов
/ 17 октября 2018

Попробуйте это:

global $post;
$meta_value = get_post_meta($post->ID, 'offer_voucher_evergreen_deadline', true);
if( !empty($meta_value) ) {
   update_post_meta($post->ID, 'offer_voucher_evergreen_deadline', '2018-11-16 13:00:00');
}else {
   add_post_meta( $post->ID, 'offer_voucher_evergreen_deadline', '2018-11-16 13:00:00')
}

$test = get_post_meta($post->ID, 'offer_voucher_evergreen_deadline', true);
echo $test; //return $test;

Примечание. Используйте 3-й параметр в get_post_meta() функции, которая будет возвращать одно значение

$test = get_post_meta($post->ID, 'offer_voucher_evergreen_deadline', true);
echo $test; //return $test;

См. get_post_meta () функция для более подробной информации.

...