wp\\u get\\u archives()函数在其WHERE子句上运行一个过滤器——它被调用getarchives_where. 您可以使用此选项修改查询,使其仅包含页面而不包含帖子(这是硬编码的默认设置)。
我尚未对此进行测试,但请尝试:
add_filter(\'getarchives_where\',\'my_archives_filter\');
function my_archives_filter($where_clause) {
return "WHERE post_type = \'page\' AND post_status = \'publish\'";
}
然后,只需按照通常的方式使用wp\\u get\\u archives函数。
显然,这将影响整个站点的wp\\u get\\u archives功能,因此,如果使用wp\\u get\\u archives在站点上的其他位置获取后期归档,则必须将add\\u过滤器包装在可识别上下文的内容中。