3

ループ内で投稿にコンテンツがあるかどうかを確認しようとしています。現在、ループに条件を追加しました:

if ( $post->post_content ) 

引数を

wp query ('posts_per_page' => 8).

うまくいったと思っていたのですが、実際にWP queryは last を探し8 postsて、それらの内容を確認してください8 lasts。したがって、レンダリング2または3投稿します。

私が欲しいのは、8コンテンツのある最後の投稿を表示する方法です。

私が何を意味するか分かりますか?

私は本当にいくつかの助けに感謝します:)

よろしくお願いします。

4

1 に答える 1

7

これは標準の WP クエリでは不可能でありposts_where、WP_Query が呼び出される前に を使用する必要があります。

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

post_content上記では、列が空でない投稿のみを選択しています。

次にフィルターを追加します。

add_filter('posts_where', 'filter_where');

クエリを実行します。

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

完了したら、フィルターをクエリから削除して、干渉しないようにします。

remove_filter('posts_where', 'filter_where');
于 2013-05-06T09:23:08.090 に答える