4
$args = array('numberposts' => 10, 'tag' => 'my-tag', 'ID' => 555');
$posts = get_posts($args);

特定のタグから 10 件のレコードのみを取得したいのですが、ID は数字よりも小さいものです。get_posts 引数でこれを行う方法はありますか? 引数配列でより大きい、より小さい、または等しくないを指定するにはどうすればよいですか?

ありがとう...

4

5 に答える 5

5

X より小さい ID の投稿を取得したい場合の良い解決策:

$post_ids = range(1, 555); 

$args = array('numberposts' => 10, 
'tag' => 'my-tag', 
'post__in' => $post_ids');

$posts = get_posts($args);

girlieworks の小道具はこちら: https://wordpress.org/support/topic/wp_query-how-to-get-posts-with-and-id-lower-than?replies=7#post-8203891

于 2016-03-28T08:07:00.860 に答える
0

それらすべてを照会する必要があり、クエリループ内で、id が選択した数より大きいか小さいかを確認します。

私が知っている限り、クエリ自体はそのようなリクエストを処理できません。

于 2012-05-31T14:10:08.383 に答える
0

フィルターを使用しposts_whereて SQL クエリを変更し、結果を特定の数よりも小さい (または大きい) ID を持つ投稿に制限することができます。

$args   = [
    'tag'              => 'my-tag',
    'posts_per_page'   => 10,
    // Required: posts_where is not triggered without setting suppress_filters to false.
    'suppress_filters' => false,
];
$max_id = 155;

$filter_handler = function( $where ) use ( $max_id ) {
    global $wpdb;

    return $where . $wpdb->prepare( " AND {$wpdb->posts}.ID < %d", $max_id );
};

add_filter( 'posts_where', $filter_handler );

$posts = get_posts( $args );

remove_filter( 'posts_where', $filter_handler );
于 2018-11-27T23:25:26.460 に答える