2017-01-10 4 views
2

Это вопрос Word Press/PHP (очень новичок, я думаю). Я пытаюсь вставить ссылку на последнее сообщение в блоге, за которым следует опубликованная дата, используя следующий код.WordPress: - функция get_the_date() возвращает неправильную дату

<div class="latest_post"> 
    <ul><li><span class="recent_blog">LATEST POST</span><?php 
    $args = array(
     'numberposts' => 1, 
     'category' => 71, 
     'post_status' => 'publish', 
    ); 
    $recent_posts = wp_get_recent_posts($args); 
    foreach($recent_posts as $recent) { 
     echo '<a href="' . get_permalink($recent["ID"]) . '"> <strong>' . $recent["post_title"].'</strong></a>'; 
    } 
    wp_reset_query(); 
    ?> (<?php echo get_the_date('Y/m/d'); ?>)</li></ul> 
</div><!-- .latest_post --> 

Однако <?php echo get_the_date('Y/m/d'); ?> возвращает неправильную дату «(2015/04/23)», который я понятия не имею, откуда она пришла. Это должно быть (2017/01/02). Может ли кто-нибудь помочь мне узнать, где все пошло не так? Или любой другой способ получить правильную дату?

Спасибо заранее!

+0

на основе справки: - HTTPS://developer.wordpress.org/reference/functions/get_the_date/ (Получить дату написания сообщения.). Я думаю, что он возвращает дату публикации. поэтому, если вы хотите, чтобы правильная дата использовала ' ' –

+1

Спасибо, я пробовал '', Но это вернуло сегодняшнюю дату, а не 2017/01/02. – Joey

+1

Я хочу опубликованную дату последнего сообщения (это 2017/01/02). И я хочу, чтобы дата была автоматически обновлена ​​каждый раз, когда новое сообщение переходит в прямом эфире. – Joey

ответ

4

На самом деле на основе справки: - https://developer.wordpress.org/reference/functions/get_the_date/

(Это получить дату, на которой был написан пост.)

Так либо предоставить идентификатор сообщения в эту функцию, чтобы получить, что конкретную дату публикации

Или

Если вы хотите текущую дату, то вы можете использовать: -

<?php echo date('Y/m/d');?> 

Я думаю, что вы должны сделать, как показано ниже: -

foreach($recent_posts as $recent) { 
    echo '<a href="' . get_permalink($recent["ID"]) . '"> <strong>' . $recent["post_title"].'</strong></a>'; 
    echo get_the_date('Y/m/d',$recent["ID"]); 
} 
+0

Я думаю, что все сделано (извините, я здесь очень новый)! – Joey

+0

@Joey рада помочь вам. cheers :) :) –

+0

@Joey Некоторая информация о том, почему эта «неправильная дата», на которую вы ссылаетесь (2015/04/23), была отображена вместо ожидаемой даты публикации (2017/01/02): ** get_the_date * * поведение заключается в _allways_ возвращении даты, поэтому, если идентификатор сообщения не передан ** get_the_date **, и вы не находитесь в контексте, где сообщения могут быть получены (т.е. is_date()), то в качестве последнего средства * * get_the_date ** будет использовать поле 'post_date' из таблицы' wp_posts' (в Wordpress DB) для самой страницы (обратите внимание, что страницы Wordpress также хранятся в таблице 'wp_posts', но имеют' post_type' 'страницы'). Надеюсь, это полезно. – John

1

Вы должны использовать его, как указано выше.

<?php echo get_the_date($format, $post_id); ?> 

$format
(строка) (необязательный) PHP формат даты. По умолчанию: опция date_format («Формат даты» на Настройки> Общие панели)

$post_id
(целое число) (необязательно) Идентификатор поста вы хотели бы получать. По умолчанию выводится текущая запись. По умолчанию: нулевая

+0

Спасибо, добавив, что идентификатор сообщения означает, что дата не может быть автоматически обновлена, когда следующая почта будет вживую? – Joey

+0

Я рекомендую вам проверить его ... –

1

Он выглядит, основываясь на документации (https://codex.wordpress.org/Function_Reference/get_the_date)

Это «возвращает дату текущий $ post был написан« так, чтобы дата: (2015/04/23) могла ссылаться на активную страницу, на которой вы создаете ссылку сообщения, в котором вы находитесь.

Если вы можете получить идентификатор сообщения (нового поста), вы будете иметь возможность получить правильную дату: - get_the_date($format, $post_id)

+0

Спасибо! Это эхо get_the_date ('Y/m/d', $ recent ["ID"]); отлично работал, получая опубликованную дату. Спасибо, кучи !!! – Joey

+0

Не беспокойтесь, рад, что это сработало :) – Boz