Шорткоды Wordpress не работают с сообщениями, но изнашиваются на страницах

Когда я использую шорткод на странице, он работает хорошо, но в сообщениях отображается только имя шорткода. Пример шорткода:

function foobar_func( $atts ){
    return "foo and bar";
}
add_shortcode( 'foobar', 'foobar_func' );

Применение:

[foobar]

На странице отображается

foo and bar

но только на почте

[foobar]

Я попробовал базовую тему, такую ​​​​как TwentySeventenn, и проблема все еще существует.


person Tomasz    schedule 16.12.2018    source источник
comment
Это должно быть проблема с TwentySeventeen. Я проверил это на своей собственной теме, и это работает.   -  person Reza Saadati    schedule 16.12.2018


Ответы (1)


Это очень странно. Итак, вы добавили приведенный выше код в файл functions.php темы TwentySeventenn, но он не работает в публикации? Пожалуйста, дважды проверьте, правильно ли вы написали [foobar] в файле содержимого сообщения. Или, если вы что-то изменили в теме, проверьте, использовали ли вы the_content() вместо echo get_the_content(); шорткоды не работают, если вы используете get_the_content();

person Chengmin    schedule 16.12.2018
comment
Извините за мою ошибку, в файле function.php темы TwentySeventenn я не добавил код. Сейчас на этой теме работает, а на моей теме нет. Теперь я знаю, что преблема есть в моей теме. Я думаю, что [foobar] в редакторе сообщений не интерпретируется. Вопрос почему? - person Tomasz; 16.12.2018
comment
Если вы добавили раздел add_shortcode() выше в файл functions.php и использовали функцию the_content() в коде шаблона, все будет работать без проблем. пожалуйста, перепроверьте это - person Chengmin; 16.12.2018
comment
Как я могу проверить, используется ли the_content()? - person Tomasz; 16.12.2018
comment
Пожалуйста, проверьте иерархию шаблонов WordPress. [ссылка]developer.wordpress.org/themes/basics/template-hierarchy Вы можете найти подходящий файл шаблона (например, single-post.php) и убедиться, что вы правильно использовали цикл [ссылка]codex.wordpress.org/The_Loop - person Chengmin; 16.12.2018