Add_shortcode() - Додає новий шоткод та хук для нього

Додає новий шоткод та хук для нього.

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

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

Результат, який повертає функція (обробник шоткоду), завжди повинен повертатися, а не виводитися на екран.

Шоткоди - це конструкція виду: [somename] або [somename] або [somename]текст[/somename] у тексті, які будуть замінені іншим текстом створеним функцією-хуком, що відповідає за шоткод.

Відео про шорткоди в WordPress:

Повертає

Нічого не вертає.

Використання

Назва шоткод, який буде використовуватися в тексті. Наприклад: 'gallery'.

У назві не можна використовувати пробіли та нестандартні символи на зразок: & / [] = . За замовчуванням: ні

Назва функції, яка має спрацювати, якщо знайдено шоткод.

Функція отримує 3 параметри, кожен з них може бути переданий, а може ні:

$atts (масив) Асоціативний масив атрибутів вказаних у шорткоді. За замовчуванням: '' (порожній рядок - немає атрибутів)

$content (рядок) Текст шорткоду, коли використовується закриваюча конструкція шорткоду: [foo]текст шорткоду[/foo] За замовчуванням: ''

  • $tag (рядок) Тег шорткоду. Може стати в нагоді для передачі в дод. функції. Пр: якщо шорткод - [foo], то тег буде - foo. За промовчанням: поточний тег
  • За замовчуванням: ні

    #1. Приклад реєстрації шоткоду [footagfoo="bar"] :

    #1.2. Встановлення білого списку атрибутів шорткоду

    Для того щоб шорткод міг мати лише вказані нами параметри і ці параметри мали значення за замовчуванням, потрібно використовувати функцію shortcode_atts():

    #2. Реєстрація шорткоду з контентом

    Приклад створення такого шоткоду: [baztag] тут текст [/baztag] :

    #3. Реєстрація шоткоду для класів

    Якщо ваш плагін написаний класом:

    #4 Вставка iframe через шорткод

    Цей приклад показує, як створити шорткод, щоб потім через нього вставляти iframe.

    Код add shortcode : wp-includes/shortcodes.php VER 5.1.1

    Зв'язані функції

    З розділу: Шорткоди

    Результат, який повертає функція обробник шоткода, завжди повинен повертатися, а не виводитися на екран.

    Цікаво, а навіщо так? Ставиш echo і не працює, треба обов'язково return. А як писати тоді складні шорткоди? Наприклад, я хочу запхати туди цикл (висновок подібних записів, наприклад). Як мені діяти? Наведіть, будь ласка, приклад шорткоду з використанням get_post або такого, дуже буду вдячний!

    Тут немає проблеми, збираєте рядок у змінну та повертаєте змінну:

    Так, справді проблем немає. Просто був уражений такою ситуацією. Звикли, що у WP все логічно, а тут така бяка. Дякую, Тимуре!

    Підкажіть як вирішити

    Тобто проблема тут $stug_iv_average_passage = $wpdb->get_var('SELECT * FROM wp_pl_price', 0, 0);

    На одному сайті треба було зробити "повідомлення шоткодів", що зберігаються, при рендері сторінки. Через обмеження в часі швидко накидав таке, може кому знадобиться. Не забудьте покритикувати

    Утекст людина використовує шоткоди, наприклад так:

    І отримує на виході:

    Замість цифр у параметрі ID можна писати будь-що. В даному випадку наочніше було б писати шоткод так:

    Також хорошим тоном було б використовувати API кешування WordPress, а не оголошувати глобальну змінну, але це вже у версії 2.0

    Для початку хочу сказати велике спасибі за кожну статтю, яку я використав та використовую в майбутньому! Дуже добрий сайт! У мене така проблема: я виводжу рандомні пости внизу сторінки, до постів додаю опис за допомогою плагіна Custom Field Suite. Відповідно до документації виводити дані із цим плагіном треба get( 'first_name' ); ?> , а як це зробити всередині shordcode? Не можна використовувати echo! Наперед вдячний за відповідь!

    шоткод

    Всім привіт! у мене така проблемка, хочу зробити типу швидкого замовлення товару з картинкою і коротким описом товару, як це можна зробити? І чи можна щось на зразок цього зробити? Попередньо вам дякую!

    нього

    По-перше, як ти уявляєш собі відповідь на своє запитання? Ти хочеш зробити "типу швидке замовлення з картинкою та коротким описом", так візьми і зроби. Візьми картинку, короткий опис, згортай як тобі подобається, додай кнопку для швидкого замовлення. По-друге, не намагайся бензопилою забивати цвяхи. Для інтернет-магазину використовуй відповідну cms - бітрікс, опенкарт, юмі.

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

    add_shortcode

    Добрий день друзі!

    Оскільки в даний час існує перевірка сайтів на унікальний контент (конкретно в рамках даного сайту), виникла потреба дублювання деяких частин контенту, БЕЗДУБЛЮВАННЯ оних. Як я собі це уявляю:

    Скажімо, на сайті існує якийсь текст, кожен абзац якого має унікальний id. Потім, за допомогою Шорткод (в які даний ID буде поміщений) текст виводиться в потрібному місці.

    Моє питання полягає в наступному - яка має бути конструкція подібного шорткоду, і як його підключити до functions.php

    Використання текстів у файлі functions.php – не пропонувати! Справа в тому, що шорткод (подібного типу) на сайті планується використовувати у величезній кількості. Так що забруднювати functions.php - не хочеться.

    Вітання. Може підійде плагін wp-html-block чи подібний?

    нього

    Я так розуміючи в деяких тегах не працюватиме. У мене в атрибуті action тега form виводиться як є, а в src працює.

    У мене не виходить зобразити require у шоткоді. Роблю так:

    З$path1 отримую помилки

    Warning: require_once(A:\Server\home\clown-wp/wp-content/themes/csk'/inc/stickers.php'): failed to open stream: Немає файлу або directory в A:\Server\home\ clown-wp\wp-content\themes\csk\functions.php on line 231 Fatal error: require_once(): Failed opening required 'A:\Server\home\clown-wp/wp-content/themes/csk '/inc/stickers.php'' (include_path='.;a:/server/modules/php/PHP-7.1;a:/server/modules/php/PHP-7.1/PEAR/pear') in A:\ Server\home\clown-wp\wp-content\themes\csk\functions.php on line 231

    А з$path2 отримую чомусь цифру 1 Хоча шлях виходить правильним. Але, замість вставити вміст файлу, виводиться просто цифра.

    Ви вчора нічого не засвоїли з розмови))

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

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