У меня есть шорткод, определенный в плагине следующим образом:
// [tag1] -> Some Longer Text
function shortcode_example1() {
return 'Some Longer Text';
}
add_shortcode('tag1', 'shortcode_example1');
Теперь на странице WordPress я пытаюсь получить доступ к плагину следующим образом:
[tag1]
Однако шорткод не запускается и выводится просто «[tag1]». Вы можете помочь?
Спасибо за вашу помощь.
do_shortcode
фильтр сthe_content
крючка? Попробуйте переключиться на тему по умолчанию (ваша тема используетthe_content()
?) И отключить все плагины. Затем включите их 1 на 1, чтобы найти потенциальный конфликт.Ответы:
Есть несколько вещей, чтобы проверить здесь
Один: ваш плагин активирован.
Два: Ваш шорткод в вашем основном файле плагина. Если этот код находится в другом файле внутри вашего плагина, вы обязательно включили этот дополнительный файл в свой основной файл плагина?
Три: нет ли в вашем файле плагина каких-либо ошибок, которые деактивируют ваш плагин после активации. Вы установили для debug значение true. У одного из участников сайта есть отличный плагин для отладки, доступный для загрузки на wordpress.org, который называется Debug Objects.
Четвертое: попробуйте переместить свой шорткод в файл functions.php вашей темы, чтобы убедиться, что он действительно работает. Если это не работает внутри вашей темы, проблема может быть в самой вашей теме
Пять: как подсказывает @helgatheviking, вы не фильтруете
the_content()
каким-либо образом, который может вызвать такое поведение?Шесть: если все вышеперечисленное не сработало, деактивируйте все плагины, переключитесь на связанную тему и перепроверьте. Если проблема не устранена, обновите / переустановите Wordpress, поскольку это может быть поврежденный основной файл, а затем
источник
Добавь это
источник
Спасибо за ваши ответы. После дальнейшего изучения я обнаружил, что файл плагина, в котором был определен мой шорткод, показывался как «неактивный». Как только я переместил свои определения шорткода в активный файл, все стало работать. Я надеюсь, что это будет полезно для любого, кто столкнется с этим в будущем.
Еще раз спасибо!
источник