"является ли новый день()" альтернативой в течение многих лет?


Я не верю, что в WordPress есть функция is_new_year() в качестве альтернативы is_new_day(). Я пытаюсь отобразить год только один раз для каждого набора сообщений, как это лучше всего сделать?

Должен ли я просто проверить дату вручную с помощью PHP в цикле или есть какие-то лучшие способы?

Author: user2019515, 2013-04-27

1 answers

Вы можете создать вспомогательную функцию, которая возвращает номер года только один раз в год:

function get_unique_year( $post_id = 0 )
{
    static $last = 0;

    $post_id || $post_id = get_the_ID();

    $year = get_the_time( 'Y', $post_id );

    if ( $year === $last )
        return;

    $last = $year;

    return $last;
}

Затем извлеките свои сообщения и используйте этого помощника:

$posts = wp_get_recent_posts(); // or any other function returning posts

foreach ( $posts as $post )
    if ( $year = get_unique_year( $post->ID ) )
        print "Year: $year<br>";
 2
Author: fuxia, 2013-04-27 00:31:27