Wordpress 将文章归档到某一年,然后为较旧的文章创建一个通用归档选项卡
我想将绘画内容类型按年归档到2010年,然后是其他较旧的内容类型由于Wordpress 将文章归档到某一年,然后为较旧的文章创建一个通用归档选项卡,wordpress,Wordpress,我想将绘画内容类型按年归档到2010年,然后是其他较旧的内容类型由于wp\u get\u archives()中没有偏移参数,您只需更改顺序即可 wp_get_archives( array( 'post_type' => 'paintings', 'type' => 'yearly', 'limit' => 4, 'order' => 'ASC', ) ); 正如我所理解的那样,年份的字母顺序是降序的(默认值)。如果第一个存
wp\u get\u archives()
中没有偏移参数,您只需更改顺序即可
wp_get_archives( array(
'post_type' => 'paintings',
'type' => 'yearly',
'limit' => 4,
'order' => 'ASC', )
);
正如我所理解的那样,年份的字母顺序是降序的(默认值)。如果第一个存档年份是2006年,则将顺序
更改为ASC
将显示:2006、2007、2008、2009
如果要反转这些结果,可以使用format
和echo
参数,并将逻辑应用于显示2009、2008、2007和2006。但这是另一个问题
更新(来自评论)
您可以使用pre_get_post操作来更改查询
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;
}
您将找到WP_查询的所有详细信息和日期参数,以适应您的查询
您需要使用一个特殊的存档链接来检测此存档页面。我建议您了解add_query_var(),并将and添加到可用于WP_query的公共查询变量中
最后的结果是:
if(is_post_type_archive('paintings') && get_query_var('show-paintings') == 'older' && $query->is_main_query()){}
考虑这一点的另一种方法是克隆自定义的post类型,以区分新旧绘画。检测存档页面并更改查询的条件将变为是\u post\u type\u archive('older-painting')
希望它有用 谢谢你,贝诺蒂。但是我想把20092008年等的数据归为一组,没有区别。这里会有一个标题链接“Older Archive”,它列出了当年的每篇文章。好吧,我不太明白,我想你只需要每年的列表页面链接,所以我想你可以使用pre_get_posts操作在一个特殊的归档页面中列出所有带有日期查询的文章。谢谢,Benoti。您介意详细说明带有日期查询的pre_get_posts选项吗?那太好了。是的,几分钟后我会的
if(is_post_type_archive('paintings') && get_query_var('show-paintings') == 'older' && $query->is_main_query()){}