@WQP

Почему не работают шорткоды?

Для примера взял шорткод:
function test_code() {
return 'Тест кода';
}
add_shortcode('test_1', 'test_code');

Далее пытаюсь использовать его в материалах, но выводится не "Текст кода", а [test_1]
Посмотрел активацию шорткода:
global $shortcode_tags;
echo "<pre>";
print_r($shortcode_tags);
echo "</pre>";

Написано, что работает. Далее посмотрел вызовом php
<?php echo do_shortcode("[test_1]"); ?>
Тоже работает, но когда в самом материале в поле текста пишешь код, выводится просто [test_1]
  • Вопрос задан
  • 12502 просмотра
Решения вопроса 2
Alexufo
@Alexufo
противоречивый, сложный, весь компьютерный.
При вызове $post->post_content не будут работать шорткоды. Это сразу текст в бд без всяких обработок. Выводить пост нужно через луп, как в документации и через the_content(); тогда все будет работать.

Но можно и так:
echo apply_filters('the_content', $post->post_content);

wordpress.stackexchange.com/questions/47985/post-p...

stanislav.it/execute-shortcodes-inside-custom-fiel...
Ответ написан
@WQP Автор вопроса
Решил проблему так:
// для текста материала 
echo apply_filters('the_content',$post->post_content); 

// для дополнительных полей
echo apply_filters('the_content',get_field('role'));
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
контент выводится не через the_content(), а другим способом?
Ответ написан
@davidxard
Shortcodes Ultimate не работает с bbPress, с самой темой и записями на сайте все работает отлично. Можно как-то это исправить?
Ответ написан
Комментировать
@WebWolf
add_filter( 'term_description', 'shortcode_unautop');
add_filter( 'term_description', 'do_shortcode' );
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы