Как вывести дату для записи WordPress в отдельных HTML-элементах

Чтобы вывести дату для записи кастомного типа в WordPress в отдельных HTML-элементах (день, месяц, год) и при этом получить название месяца на русском языке в именительном падеже (без склонения, например, «Август» вместо «Августа»), можно использовать функции WordPress в сочетании с небольшим PHP-кодом.

Стандартная функция WordPress get_the_date('F') вернет месяц в родительном падеже («Января», «Февраля»), что не соответствует вашему требованию. Самый надежный способ — получить номер месяца и сопоставить его с названием из заранее подготовленного массива.

Решение с помощью PHP

Этот код нужно вставить в шаблон вашей темы, который отвечает за вывод записи кастомного типа (например, single-my_custom_type.php или внутри цикла WP_Query).

Пример php-кода для вставки в цикл WordPress:

<?php
// Находясь внутри цикла (The Loop)

// 1. Получаем номер месяца для текущей записи (от 1 до 12)
$month_number = get_the_date('n');

// 2. Создаем массив с названиями месяцев в именительном падеже
$russian_months = [
  1 => 'Январь',
  2 => 'Февраль',
  3 => 'Март',
  4 => 'Апрель',
  5 => 'Май',
  6 => 'Июнь',
  7 => 'Июль',
  8 => 'Август',
  9 => 'Сентябрь',
  10 => 'Октябрь',
  11 => 'Ноябрь',
  12 => 'Декабрь'
];

// 3. Получаем день и год
$day = get_the_date('d');
$year = get_the_date('Y');

// 4. Выводим дату в отдельных HTML-элементах
<div class="post-date">
  <span class="day"> <?php echo $day; ?> </span>
  <span class="month"> <?php echo $russian_months[$month_number]; ?> </span>
  <span class="year"> <?php echo $year; ?> </span>
</div>

Пояснение кода:

get_the_date('n') получает номер месяца текущего поста без ведущих нулей (например, «8» для августа).
$russian_months — это PHP-массив, где ключами выступают номера месяцев, а значениями — их русские названия в нужной форме.
get_the_date('d') и get_the_date('Y') получают день с ведущим нулем (01, 02…) и год в формате из 4 цифр.
Далее каждая часть даты выводится внутри своего HTML-элемента (<span>), которому можно задать уникальный класс для дальнейшего оформления через CSS.

Этот метод является простым, надежным и не зависит от настроек локализации на сервере, гарантируя, что месяц всегда будет выведен в именительном падеже.