WordPress шорткод не работает в пользовательской теме - PullRequest
0 голосов
/ 07 мая 2018

Я создаю тему и хочу, чтобы пользователь мог использовать шорткоды.
Сейчас он выдает [the_shortcode], и я думаю, что знаю почему, но не знаю, как это исправить.

Я загружаю содержимое страницы не обычным способом. Предпочтительно способ загрузки функции the_content(). Но способ, которым разработан мой шаблон, загружает контент на основе размещения в иерархии страниц.

Так что родитель выглядит иначе, чем ребенок.

Для этого я загружаю контент с циклом foreach и выводим $grandchild->post_title. Страница внука родителя.

Теперь, согласно Интернету, это можно исправить, используя функцию apply_filters().
Функция ожидает два параметра, и я понятия не имею, как их заполнить:

function apply_filters( $tag, $value )

Это моя функция для шорткода:

function output_function(){
    return 'Knees weak, arms are heavy';
}
add_shortcode('output', 'output_function');

Шорткод размещается на странице поста так: ['output']

Есть мысли о том, как выводить содержимое страницы через фильтр?

1 Ответ

0 голосов
/ 07 мая 2018

То, что вы хотите, это the_content

$content = 'some string that has a [output] shortcode';
echo apply_filters('the_content', $content);

Этот фильтр гарантирует, что все $content анализируются как редактор WordPress.
Так же, как the_content().

...