Как проверить наличие атрибута в шорткоде WordPress

Неоднократно, при разработке сайтов, у меня возникала необходимость перед выводом контента проверить есть ли в нём шорткод с определёнными атрибутами. А конкретнее мне это нравится использовать для замены стандартной галереи WordPress. Я изменяю шорткод галереи под свои нужды и ввожу дополнительные атрибуты в него. Например, можно ввести атрибут тип и в зависимости он него при выводе в контенте использовать различные типы и оформления галереи.

Однако использование различных галерей ведёт к подключении различных стилей и скриптов. Это в свою очередь приводит к увеличению времени загрузок страниц. Для того что бы использовать только нужные я проверяю наличие нужно мне атрибута в шорткоде WordPress и в зависимости от него подключаю нужные мне стили и скрипты.

Нужного мне встроенного функционала для проверки наличия атрибута в шорткоде WordPress я не нашёл. Для этого я использую следующую функцию.

Функция принимает контент, шорткод который мы ищем и сам атрибут. При отсутствии нужного шорткода функция сразу возвращает false, а если он есть то используя регулярное выражение проверяется наличие атрибута в шорткоде. WordPress мне очень нравится своими шорткодами. При наличии нужного нам атрибута функция возвращает true. Здесь вы можете изменить регулярное выражение под свои нужды.


Добавить комментарий

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