Поддержка Проблемы и решения 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 варианта:

    1. Попробовать достать дату обновления поста(статьи) напрямую из базы, стандартными функциями.
    2. Выгрузить 2 поля из базы в xml (id,last_modified_date) и просто тащить из xml данные

    Какие будут варианты решения проблемы?

  • Тема «Last-Modified — проблема с функцией get_post_time()» закрыта для новых ответов.