Я настраиваю одностраничный сайт WordPress. Я получаю некоторые страницы, перечисленные на моем сайте, которые не имеют контента. Например, я получу пустую страницу блога, а также шаблон блога. Поэтому я подумал, что могу добавить чек, чтобы увидеть, есть ли на странице контент, и пойдет ли он дальше и опубликовать эту информацию. У меня проблемы с тем, чтобы заставить его работать. Я использую пользовательский запрос для домашней страницы. Так что я думал, что смогу сделать это
if ( $page_query->have_posts() ) : while ( $page_query->have_posts() ) : $page_query->the_post();
if( $page_query->post_content != ''){
get_template_part( 'content', get_post_format() );
}
endwhile; endif;
Проблема в том, что я получаю ошибку в этом коде, и я не могу понять, почему. Я получаю эту ошибку
Примечание: неопределенное свойство: WP_Query :: $ post_content в
empty()
в качестве переменной. Сначала вы должны сохранить его в переменной. Даже тогда это не сработает, поскольку в вашем контенте могут быть пустые места.Это также работает и проверяет такие вещи, как пустые теги абзаца или
содержимое, которые могут привести к сбою обычной проверки. См. Http://blog.room34.com/archives/5360 для оригинальной идеи - просто записать ее здесь, чтобы я мог найти ее снова. : О)Поместите это в ваши functions.php:
И поместите это туда, где вы хотите выполнить проверку:
Это вернется,
true
если содержимое пусто,false
если нет.источник
Я реализовал несколько методов has_content () несколько раз за последние годы, и между ними всегда достаточно времени, поэтому мне нужно немного поискать, чтобы ответить на этот вопрос.
В любом случае - это мое решение, которое я хотел бы найти в следующий раз здесь - так что для справки.
все функции "внутри цикла" могут быть заменены пост-объектами "post_content"
в functions.php и аналогичных файлах:
как функция
Шаблон внутри цикла:
источник