Intereting Posts
wp_get_attachment_image возвращает другой размер изображения В чем преимущество использования wp_mail? Добавить внутреннюю страницу в меню администратора Организация страниц WP на основе старой базы данных веб-сайта На странице категории найдите объект категории Получить несколько значений, переданных одному атрибуту в коротком коде Как мне это понять? (Продавать, сдавать в аренду, продавать-> перемещать что-то из категории в другую) Как сделать работу meta_query OR? Создание настраиваемого шаблона страницы в блоге polylang перевод пользовательского сообщения, созданного wp_insert_post () Получить текущий url с переданными параметрами Видимый ярлык редактирования для меню WordPress, в котором используется навигатор nav walker загрузка шаблона пользовательской регистрации Как изменить URL-адрес изображения WordPress post__in не принимает мой список идентификаторов

Исключить сообщения с пустым post_content в wp_query

можно ли исключать сообщения с пустым содержимым сообщения из wp_query?

$args = array( 'post_type' => array('post'), 'posts_per_page' => 5, 'post_status' => 'publish', ); $query = new WP_Query($args); $posts = $query->posts; foreach($posts as $post) { var_dump($post->post_content); } 

Выполнение внутри цикла, как if($post->post_content !== '') { } , не является вариантом. Потому что мой список не будет содержать 5 элементов.

Это невозможно при стандартном WP-запросе, и вам придется использовать использование posts_where до WP_Query .

 function the_dramatist_filter_where($where = ''){ $where .= " AND trim(coalesce(post_content, '')) <>''"; return $where; } 

В приведенном выше post_content мы просто post_content сообщения, в которых столбец post_content не пуст.

Затем добавьте фильтр.

 add_filter('posts_where', 'the_dramatist_filter_where'); 

Теперь выполните запрос.

 $query = new WP_Query(array('post_type' => 'post', 'posts_per_page' => 8)); 

И затем, когда вы закончите, удалите фильтр из запроса, чтобы он не мешал.

 remove_filter('posts_where', 'the_dramatist_filter_where');