从wp_get_ages中删除2014年

时间:2014-01-19 作者:Sinac

我们有wp_get_archives(\'type=monthly\'); 具有如下输出的函数:

Archives by Month:
January 2014
December 2013
November 2013
但我想要一个按年份排序的表格:

2014
January
-------------
2013
December    November

1 个回复
最合适的回答,由SO网友:passatgt 整理而成

在wp\\u get\\u archives函数中,我能找到的唯一过滤器是用于显示链接的。基于get\\u archives\\u链接过滤器,这应该可以工作,在函数中使用它。php文件:

$archive_year = 0;
add_filter(\'get_archives_link\',\'wp_get_archive_grouped_by_year\',10,2);
function wp_get_archive_grouped_by_year($link_html) {
    global $archive_year;
    //Get the year from the link(probably better if you change this to regexp)
    $year_new = explode(\' \', $link_html);
    $year_new = explode(\'</a>\',$year_new[2]);
    $year_new = $year_new[0];
    $year_html = \'\';

    //If the year is not display previously
    if ($year_new != $archive_year) {
        $archive_year = $year_new;
        $year_html = \'<li class="year">\'.$archive_year.\'</li>\';
    }

    //Remove the year from the month link
    $link_html = str_replace(\' \'.$archive_year, "", $link_html);

    //Return the new links and exclude a specific year:
    if($archive_year != \'2014\') {
        echo $year_html.$link_html;
    }
}
结果:

<li class="year">2014</li>
<li><a href=\'#\'>January</a></li>
<li class="year">2013</li>
<li><a href=\'#\'>November</a></li>
<li><a href=\'#\'>April</a></li>

结束

相关推荐

显示Archives.php中的所有自定义帖子类型

我该怎么做?archive.php 只有以下内容:wp_get_archives(\'type=monthly\'); 以及wp_get_archives() 没有显示所有帖子类型的参数。我也认为archive-[post_type].php 不是我要找的,因为我希望所有帖子类型都显示在一个归档页面中。谢谢W