Як створити WordPress шорткод, що відображає дату

Як створити WordPress шорткод, що відображає дату

У сьогоднішньому уроці трохи повернемося до WordPress і розглянемо приклад розробки шорткода, який відображає дату у довільному форматі. Формат задається шаблоном функції 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"]
Cьогодні - [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 адреса не оприлюднюватиметься. Обов’язкові поля позначені *