我在Wordpress网站上有一个自定义的帖子类型“news”。我正在使用高级自定义字段插件为每篇文章添加元数据。
我想创建一组新闻项目作为存档:
[2013]
[January] => 5
[2012]
[January] => 20
[February] => 10
[2011]
[April] => 30
我通过以下方式实现了这一目标:
global $wpdb;
$news = $wpdb->get_results(
"SELECT wp_posts.post_date, COUNT(wp_posts.ID) as count
FROM $wpdb->posts
WHERE
wp_posts.post_type = \'news\' AND
wp_posts.post_status = \'publish\' AND
wp_posts.post_date <= CURDATE() AND
wp_posts.post_date >= DATE_SUB(CURDATE(), INTERVAL 3 YEAR)
GROUP BY YEAR(wp_posts.post_date), MONTH(wp_posts.post_date)
ORDER BY wp_posts.post_date DESC",
ARRAY_A);
$archive = array();
foreach ($news as $post):
$year = date(\'Y\', strtotime($post[\'post_date\']));
$month = date(\'m\', strtotime($post[\'post_date\']));
$month_name = date(\'F\', strtotime($post[\'post_date\']));
$post[\'url\'] = \'NOT SURE ABOUT URL\';
$archive[$year][$month_name] = $post;
endforeach;
我需要能够使用
http://example.com/news/2012/
和
http://example.com/news/2012/10/
.
我试着使用插件Custom Post Type Archives 但当我走到/news/2012/
我得到的是没有应用过滤器的标准新闻列表。
这是我的自定义邮件类型代码
register_post_type(\'news\',
array(
\'label\' => \'News\',
\'description\' => \'Latest News\',
\'public\' => true,
\'show_ui\' => true,
\'show_in_menu\' => true,
\'capability_type\' => \'post\',
\'hierarchical\' => true,
\'rewrite\' => array(\'slug\' => \'\',\'with_front\' => \'1\'),
\'query_var\' => true,
\'has_archive\' => true,
\'menu_position\' => 120,
\'menu_icon\' => /assets/img/icon-custom.png
)
);