Last-Modified — проблема с функцией get_post_time()
-
Хочу добавить заголовок Last-Modified, вот код, который я добавил в файл function.php:
add_action( 'send_headers', 'last_modefied' ); function last_modefied() { <blockquote>$LastModified_unix = get_post_time('U', true);</blockquote> $LastModified = gmdate('D, d M Y H:i:s T', $LastModified_unix); $IfModifiedSince = false; if (isset($_ENV['HTTP_IF_MODIFIED_SINCE'])) $IfModifiedSince = strtotime(substr($_ENV['HTTP_IF_MODIFIED_SINCE'], 5)); if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])) $IfModifiedSince = strtotime(substr($_SERVER['HTTP_IF_MODIFIED_SINCE'], 5)); if ($IfModifiedSince && $IfModifiedSince >= $LastModified_unix) { header($_SERVER['SERVER_PROTOCOL'] . ' 304 Not Modified'); exit; }*/ header('Last-Modified: '. $LastModified); }
Проблема в
$LastModified_unix = get_post_time(‘U’, true);
Если просто использовать функцию
get_post_time()
например, в header.php или single.php все корректно работает, но при таком раскладе функция ничего не возвращает.
Возможно это связано с тем, что функция каким то образом не успевает подгрузиться, при отправке заголовков.У меня есть 2 варианта:
- Попробовать достать дату обновления поста(статьи) напрямую из базы, стандартными функциями.
- Выгрузить 2 поля из базы в xml (id,last_modified_date) и просто тащить из xml данные
Какие будут варианты решения проблемы?
- Тема «Last-Modified — проблема с функцией get_post_time()» закрыта для новых ответов.