0

WP_Query() を使用して、wordpress ブログにいくつかの投稿を表示しようとしています。アイデアは、過去 30 日間に公開された投稿の中からランダムに選択された 9 つの投稿を表示することです。何らかの理由で、これはうまくいかないようです。

ここに私が使用するコードがあります:

    function filter_where_custom( $where = '' ) {
        // posts in the last 30 days
        $where .= " AND post_date > '" . date('Y-m-d', strtotime('-30 days')) . "'";
        return $where;
    }

    $args = "orderby=rand&posts_per_page=9";
    $my_query = new WP_Query();
    add_filter('posts_where', 'filter_where_custom');
    $my_query->query($args);

問題は add_filter の使用にあると思いますが、これまでのところ何が間違っているのか理解できませんでした。どんな助けでも素晴らしいでしょう:)ありがとう

4

1 に答える 1

0

これは機能するはずです。フィルターは必要ありません。時間パラメータ
の詳細

$args = array(
  'year' => date('Y', strtotime('-30 days')),
  'monthnum' => date('m', strtotime('-30 days')),
  'day' => date('d', strtotime('-30 days')),
  'orderby' => 'rand',
  'posts_per_page' => 9
);
$my_query = new WP_Query($args);

// start your custom $my_query->have_posts() loop
于 2012-12-05T12:24:14.723 に答える