Чтобы вывести дату для записи кастомного типа в 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.
Этот метод является простым, надежным и не зависит от настроек локализации на сервере, гарантируя, что месяц всегда будет выведен в именительном падеже.