Как создать WordPress шорткод отображающий дату

Как создать WordPress шорткод отображающий дату

В сегодняшнем уроке, вернемся немного к WP и рассмотрим пример разработки шорткода отображающего дату в произвольном формате. Формат будет задаваться шаблоном PHP функции date().

PHP код шорткода

Код нашего шорткода довольно прост имеет всего навсего пару строк:

add_shortcode("date", function($atts)
{
	//Sets
	$atts = shortcode_atts(array(
		'template' => date('Y-m-d'),
	),$atts);

	return date($atts['template']);
});

Где:
date — название нашего шорткода
shortcode_atts() - wordpress функция, устанавливающая данные для шорткода по умолчанию. В нашем случае, если параметр шаблона даты «template» не будет установлен, будет применен шаблон «Y-m-d», т. е. «гггг-мм-дд»(или год-месяц-день).
date() - стандартная PHP ф-я работы с датой (вернее отображающая ее). В нее, первым аргументом, мы как рази и помещаем шаблон формата отображения даты. Подробнее, о том как есть способы формирования даты, вы можете найти в интернете, на официальном сайте PHP.

Данный PHP код, разместите в файле «functions.php» вашей темы.

Как использовать шорткод

Для того что бы использовать шорткод, в текстовом редакторе WordPress, для теста введем следующий текст.

Без параметра - [date]
Год - [date template="Y"]
Год и месяц - [date template="Y-m"]
Год, месяц и день - [date template="Y-m-d"]
Текущее время - [date template="H:i:s"]

Описания думаю не нужно, с текста выше оно должно быть и так понятно. Но если что, прошу к комментариям.

На фронтенде (на странице или в посте), т. е. там где будет отображаться результат работы нашего шорткода, вы сможете увидеть следующее:

Без параметра — 2019-01-12
Год — 2019
Год и месяц — 2019-01
Год, месяц и день — 2019-01-12
Текущее время — 14:53:36

Дата и время может отличаться, т. к. выше опубликовано время тестирования шорткода.

Где может быть полезен данный шорткод? Вопрос хороший, сейчас я вижу только одно место где его можно использовать. Это подвал сайта, где обычно публикуется год создания сайта и текущий год.

Что бы реализовать нечто подобное, используйте следующий код:

2014 - <?php echo do_shortcode('[date template="Y"]'); ?>

На этом все, удачи!

Как создать WordPress шорткод отображающий дату
Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *