web-dev-qa-db-ja.com

特定の月の週ごとの投稿を表示するにはどうすればよいですか。

私は以下のように投稿を表示しなければなりません

2010年9月

2010年9月24日金曜日

post1
post2
.
.
.

2010年9月17日金曜日

post1
post2
.
.
.

2010年9月10日金曜日

post1
post2
.
.
.

2010年9月3日金曜日

post1
post2
.
.
.

誰かが言うことができる、どのようにこれを行うことができますか、またはどの関数を使用する必要がありますか?

私は次の機能を使用しました、そして私は今月のすべての投稿を得ました

query_posts("year=$current_year&monthnum=$current_month")

今月の週あたりの投稿を表示するにはどうすればよいですか。

動いていますかquery_posts(""year=$current_year&monthnum=$current_month&post_date >$startDate&post_date <=$endDate")

または別の良い方法は何ですか?

1
linto

あなたはwordpressのposts_whereフィルタに条件を追加する必要があります。現在の投稿の日付以前の投稿のみを取得する例を示します。

これをfunctions.phpに追加してください。

// filter wp_query when $dated_before is set
function dg_dated_before($where)
{
    global $wp_query, $wpdb, $dated_before;
    if (isset($dated_before)):
        $where = $where . " AND $wpdb->posts.post_date <= '". $dated_before . "' " ;
    endif;
    return $where ;
}
add_filter('posts_where', 'dg_dated_before') ;

クエリを実行している場所であれば、これを使用してください。

global $dated_before;
$dated_before = $post->post_date;
$queryObject = new WP_Query();

あなたが必要とする日付境界を追加するために明らかにこれを修正する必要があるでしょう。

2
Dan Gayle