Archive.php按自定义帖子类型筛选


Archive.php filter by custom post type

我在函数.php中有这段代码,我创建了一个创建post的月份列表,如下所示:

2015年11月至12月

2014年10月-11月-12月

"11月"12月"是链接,显示网址:www.xxx.com/2015/11发布该日期。

这使用archive.php

问题是:如果不过滤这些自定义帖子类型的链接,你自己怎么能做到这一点??

function twentyeleven_get_archives_callback($item, $index, $currYear) {
    global $wp_locale;
    if ( $item['year'] == $currYear ) {
        $url = get_month_link( $item['year'], $item['month'] );
        // translators: 1: month name, 2: 4-digit year
        $text = sprintf(__('%1$s %2$d'), $wp_locale->get_month($item['month']), $item['year']);
        $text = substr($text,0,3);
        echo get_archives_link($url, $text);
    }
}
    function twentyeleven_get_archives() {
            global $wpdb;
            $query = "SELECT YEAR(post_date) AS `year` FROM $wpdb->posts WHERE `post_type` = 'post' AND `post_status` = 'publish' GROUP BY `year` ORDER BY `year` DESC limit 4";
            $arcresults = $wpdb->get_results($query);
            $years = array();
            if ($arcresults) {
                foreach ( (array)$arcresults as $arcresult ) {
                    array_push($years, $arcresult->year);
                }
            }
            $query = "SELECT YEAR(post_date) as `year`, MONTH(post_date) as `month` FROM $wpdb->posts WHERE `post_type` = 'post' AND `post_status` = 'publish' GROUP BY `year`, `month` ORDER BY `year` DESC, `month` ASC";
            $arcresults = $wpdb->get_results($query, ARRAY_A);
            $months = array();
            if ( $arcresults ) {
                foreach ($years as $year) {
                            //My Display
                    //echo "'t<li>'n't't<a href='"#'">$year</a>'n't't<ul>'n";
                    //array_walk($arcresults, "twentyeleven_get_archives_callback", $year);
                    //echo "'t't</ul>'n't</li>'n";
                            //Your Display
                    echo "'t<div class='listYearArchive'><span class='yearArchive'>$year</span>'n't<ul class='listMonthArchive'>'n";
                    array_walk($arcresults, "twentyeleven_get_archives_callback", $year);
                    echo "'t</ul></div>'n";
                }
            }
        }

您可以在查询中更改post_type权限

FROM $wpdb->posts WHERE `post_type` = 'post'

只需更改自定义帖子名称的post