Wordpress Добавить, обновить и получить сообщение мета не работает
Приведенный ниже код добавляется в файл шаблона страницы. Когда кто-то загружает страницу, он добавляет метаданные поста, если они не существуют, обновляет метаданные поста, если он существует. Когда я получаю мета-пост, а затем возвращаю его, получается "Массив".
Это заставляет меня верить, что мета-пост не создается или не работает.
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 ответ
Решение
Попробуй это:
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() для более подробной информации.