我正在使用cpt-archive
插件在我的wordpress帖子中按月生成存档。这里插件使用此代码,
$query = "SELECT YEAR( post_date ) AS `year`,
MONTH(post_date) AS `month`,
count(ID) as posts
FROM $wpdb->posts $join $where
GROUP BY YEAR(post_date),
MONTH(post_date)
ORDER BY post_date DESC $limit";
$arcresults = $wpdb->get_results($query);
这里与post_date
一起工作正常。我需要自定义它以通过元字段存档。我有两个元键,例如_event_start_date
和_event_end_date
。
修改
现在我根据_event_end _date使用以下查询获取所有自定义帖子类型的月份
$months = $wpdb->get_results("SELECT DISTINCT YEAR(meta_value) AS year, MONTH(meta_value) AS month FROM $wpdb->postmeta WHERE meta_key = '_event_end_date' WHERE meta_value <= now( )ORDER BY meta_value ASC");
但我只想过去几个月。如何更改此查询以仅获取已存档的月份。
答案 0 :(得分:3)
为什么不使用wp_get_archives?
像这样的东西
<?php wp_get_archives( array( 'type' => 'monthly', 'meta_value' => array('_event_start_date', '_event_end_date') ) ); ?>