参数
$sql_where
string-
包含WHERE子句的SQL查询部分。
$parsed_args
array-
默认参数的数组。
源码
更新日志
版本 | 描述 |
---|---|
2.2.0 | 开始引入 |
使用示例
修改当前查询并将自己的类别id添加到筛选器的示例:
add_filter( 'getarchives_where', 'custom_archive_by_category_where' ); add_filter( 'getarchives_join', 'custom_archive_by_category_join' ); // You must add `join` to keep it works. Adding only `where` will return nothing function custom_archive_by_category_where($x) { global $wpdb; $current_term_slug = get_query_var( 'news_category' ); if (!empty($current_term_slug)) { $current_term = get_term_by('slug', $current_term_slug, 'news_category'); if (is_wp_error($current_term) ) { return $x; } $current_term_id = $current_term->term_id; return $x . " AND $wpdb->term_taxonomy.taxonomy = 'news_category' AND $wpdb->term_taxonomy.term_id IN ($current_term_id)"; } return $x; } function custom_archive_by_category_join( $x ) { global $wpdb; return $x . " INNER JOIN $wpdb->term_relationships ON ($wpdb->posts.ID = $wpdb->term_relationships.object_id) INNER JOIN $wpdb->term_taxonomy ON ($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id)"; }
查阅 wp_get_archives(),看看什么是它应该一起工作的。