Я не верю, что в WordPress есть функция is_new_year()
, как альтернатива is_new_day()
. Я пытаюсь отобразить год только один раз для каждого набора сообщений, что было бы лучшим способом сделать это?
Должен ли я просто проверять дату вручную с помощью PHP в цикле или есть ли лучшие способы?
Вы можете создать вспомогательную функцию, которая возвращает номер года только один раз в год:
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>";