the_content не работает на одном из двух сайтов Multisite

У меня есть многоуровневая система с двумя подсайтами (настройка поддоменов), оба сайта имеют одну и ту же тему, одни и те же плагины, но первая – на иврите и вторая на английском.

На некоторых шаблонах (не все) на английском сайте «the_content ()» не работает (он отлично работает на иврите). Это относится к персонализированному пост-типу, но не все CPT страдают от одной и той же проблемы, кажется, что это довольно случайный вопрос о том, какой пост-тип не работает (но согласуется с тем, что они продолжают работать) ,

Я проверил все, цикл кажется ОК (the_excerpt () и the_title () работают очень хорошо), но в частности the_content () не работает (и get_the_content ()), единственным способом отображения содержимого является $ post- > POST_CONTENT. Я отключил все плагины и проверил (без эффекта)

Таким образом, мой обход

echo apply_filters('the_content', $post->post_content); 

который должен, предположительно, санировать его правильно (это работает). опять же, тот же шаблон на первом сайте отлично работает с the_content () (как только я применил обходной путь, он больше не использует его.

Я использую тему корней http://www.rootstheme.com/

Может ли кто-нибудь помочь? Что мне не хватает?

Проверьте наличие каких-либо фильтров, которые return только при выполнении определенных условий. У меня была проблема, когда почти все области содержимого моих страниц были пустыми. Я обнаружил, что проблема была в фрагменте кода, который выглядел так:

 add_filter( 'the_content', 'this_will_blank_pages' ); function this_will_blank_pages( $content ) { if( is_page( 'some-page-title' ) ) { str_replace( 'some-text', 'other-text', $content ); return $content; } } 

Проблема в том, что return $content; происходит только на some-page-title , что означает, что на всех других страницах не было оператора return . Таким образом, скрытые области содержимого.

Когда я изменил свой код на это:

 add_filter( 'the_content', 'this_will_blank_pages' ); function this_will_blank_pages( $content ) { if( is_page( 'some-page-title' ) ) { str_replace( 'some-text', 'other-text', $content ); } return $content; } 

… он работал, как ожидалось. Урок выучен.

Проверьте файл functions.php вашей темы и любые плагины, которые вы можете использовать для функций фильтра с такой логикой.