2015-11-03 4 views
0

Я импортирую контент с помощью cron с помощью PHP-скрипта и имеет поле с именем _expiration_date, которое мне нужно динамически заполнять за 20 дней вперед, исходя из текущей даты импорта. Если я создаю запись вручную с помощью программы PHP и посмотрю на запись, программа создаст данные в поле _expiration_date в этом формате: 1449203160, который переводится в человеческую форму как 4 декабря 2015 года @ 4:26.Вставить динамические метаданные DATE с помощью PHP

Я предполагаю, что это какая-то дата/метка времени?

Как вы можете видеть ниже, поля, которые я заполняю, являются статическим текстом. Как заполнять поле _expiration_date динамически в правильном формате даты/времени, который должен быть прочитан системой?

 } 
     update_post_meta($post_id, 'adverts_location', $parent->name); 
     update_post_meta($post_id, 'adverts_person', 'John Doe'); 
     update_post_meta($post_id, 'adverts_email', '[email protected]'); 
     update_post_meta($post_id, '_expiration_date', ''); 
    } 

ответ

1

Это временная метка linux. Чтобы заполнить дату истечения срока действия вы можете использовать:

strtotime('+20 days'); 
1
$convertedDate = DateTime::setTimestamp($post_id); 

Это будет конвертировать метку времени DateTime, теперь вы можете управлять как обычный DateTime

$expirationDate = date_add($convertedDate , date_interval_create_from_date_string('20 days')); 

Или вы можете попробовать это, если у вас есть PHP 5 или более

$convertedDate = date('Y-m-d','1449203160'); 
$convertedDate = new DateTime($convertedDate); 
$convertedDate->add(new DateInterval('P20D')); 
echo($convertedDate); 
+0

Что входит в значение update_post_meta()? Эта? @lucarnosky update_post_meta ($ post_id, '_expiration_date', '$ expirationDate'); –

+0

Да, в expirationData у вас есть DateTime даты истечения срока действия – Lucarnosky

+0

Это не работает, он вставляет $ expirationDate в качестве данных в поле @lucarnosky –

Смежные вопросы