Свої шорткоди для wordpress - як вставити в пост будь php код або функцію

Свої шорткоди для wordpress - як вставити в пост будь php код або функцію
Привіт друзі. Сьогодні хочу розповісти вам про одну фішку, яку недавно сам застосував на своєму блозі. Займемося чимось типу створення своїх шорткодов, які можна буде використовувати прямо в постах на блозі.

За допомогою цих кодів можна буде виводити будь-який контент, динамічний або статичний - не має значення, головне, що цю справу можна додати в будь-яке місце при написанні поста, а в наслідку вносити зміни тільки в одному місці і не редагувати купу постів.

Давайте відразу покажу живі приклади, щоб було зрозуміліше, про що йде мова. Ось парочка посилань на мої модулі для DLE. LinkEnso PRO. TagFace і CatFace.

Я вважаю, що це капець як зручно. і я просто зобов'язаний поділитися цією темою з вами. Я не перший, і не я це придумав, регулярні вирази придумали ще до того, як я дізнався, що таке інтернет :)

Пишемо функцію і створюємо свій шорткод в WordPress

Трохи розберемо те, що написано. Для кого-то це абсолютно незрозуміла абракадабра :)

  • my_modules - це назва функції, я його придумав сам, можете використовувати тут будь-яке інше назву, чого душа забажає.
  • return '...'; - власне html-контент, який ми хочемо вивести в пості на місці шорткода, тобто наш блок. Важливо знати, що якщо десь у вашому контенті всередині return будуть зустрічатися апострофи, як у мене «Алаіч' \ 'а», то їх треба екранувати зворотним слешем, в прикладі це видно.
  • add_shortcode ( 'DLEmod', 'my_modules'); - це функція, яка створить для нас шорткод. Тут використовується WordPress Shortcode API, що містить набір функцій для роботи з регулярки і не тільки ... коротше, це для вас не важливо. Загалом, використання цієї команди створить для нас шорткод з назвою [DLEmod] (без пробілів між назвою і дужками) і буде виводити на його місці вміст функції my_modules.

У моєму прикладі наведено найпростіший випадок. без використання будь-якої динаміки, але при бажанні можна використовувати будь-який сценарій на php. Якщо вам це цікаво, можете нагугліть, я ж просто хотів розповісти про можливості трохи полегшити собі життя.

Якщо хочете, в майбутньому я розгляну можливості роботи безпосередньо роботи з регулярними виразами, без використання WordPress API.

З повагою, Олександр Алаев