wp_get_archives()
にオフセットパラメータがないため、これを行う順序を変更することができます。
wp_get_archives(array(
'post_type' => 'paintings',
'type' => 'yearly',
'limit' => 4,
'order' => 'ASC',)
);
あなたが分かっているように、アルファベット順の年は降順(デフォルト値)です。最初のアーカイブ年は2006年である場合は、ASC
にorder
が表示されます変更:2006、2007、2008、2009
あなたは、これらの結果を逆にしたい場合は、あなたがformat
とecho
パラメータでプレーし、2009年を表示するために、あなたのロジックを適用することができます、2008年、2007年、2006年。しかしそれは別の質問です!
UPDATE(コメント)
あなたがWP_Queryのためのすべての詳細と日付パラメータhereはあなたのクエリを適応させることができますクエリ
add_action('pre_get_posts', 'so_41494855');
function so_41494855($query){
if(is_post_type_archive('paintings') && $query->is_main_query()){
$before = '2009-12-31';
$after = '2006-01-01';
$date_query = array(
'before' => $before,
'after' => $after
);
$query->set('date_query', $date_query);
$query->set('posts_per_page', '15');
}
return $query;
}
を変更するpre_get_postアクションを使用することができます。
このアーカイブページを特別なアーカイブリンクで検出する必要があります。 add_query_var()とget_query_var()についてお知りになり、WP_Queryで使用できるパブリッククエリ変数に追加されます。
conditionnalになった:このことについて考えて
if(is_post_type_archive('paintings') && get_query_var('show-paintings') == 'older' && $query->is_main_query()){}
もう一つの方法は、新しいものと古い絵画を分離するために、カスタムポストタイプのクローンを作成することができます。アーカイブページを検出してクエリを変更する条件はis_post_type_archive('older-painting')
になります。
希望していますか?&が役立ちます。
ありがとう、Benoti。しかし、2009年、2008年などからのものを区別せずに1つにグループ化したいと思います。その年のすべての投稿をリストアップするヘッダーリンク、 'Older Archive'があります。 – vizzaro
さて、私はそれを正確には理解していませんでした。あなたは毎年リストページへのリンクがほしいと思っていたので、pre_get_postsアクションを使用して、特別なアーカイブページのdate_queryを持つすべての投稿をリストすることができると思います。 – Benoti
ありがとう、Benoti。 date_queryでpre_get_postsオプションを詳述してもよろしいですか?それは素晴らしいだろう。 – vizzaro