注册地区分类法(taxonomy)
在WordPress的主题的functions.php
文件或者一个自定义的插件文件中,你可以使用register_taxonomy
函数来注册一个新的分类法。
function register_area_taxonomy() {
$labels = array(
'name' => _x( '地区分类', 'taxonomy general name' ),
'singular_name' => _x( '地区分类', 'taxonomy singular name' ),
'search_items' => __( '搜索地区分类' ),
'popular_items' => __( '热门地区分类' ),
'all_items' => __( '所有地区分类' ),
'parent_item' => null,
'parent_item_colon' => null,
'edit_item' => __( '编辑地区分类' ),
'update_item' => __( '更新地区分类' ),
'add_new_item' => __( '添加新地区分类' ),
'new_item_name' => __( '新地区分类名称' ),
'separate_items_with_commas' => __( '使用逗号分隔地区分类' ),
'add_or_remove_items' => __( '添加或删除地区分类' ),
'choose_from_most_used' => __( '从最常用的选择' ),
'not_found' => __( '没有找到地区分类' ),
'menu_name' => __( '地区分类' ),
);
$args = array(
'labels' => $labels,
'hierarchical' => true,
'public' => true,
'show_ui' => true,
'show_admin_column' => true,
'show_in_nav_menus' => true,
'show_tagcloud' => true,
'rewrite' => array( 'slug' => 'area-category' ),
);
register_taxonomy( 'area_category', array( 'post' ), $args );
}
add_action( 'init', 'register_area_taxonomy' );
2. 在WordPress后台添加地区分类
注册完分类法后,你可以在WordPress后台的“文章” -> “地区分类”菜单中添加新的地区分类。
3. 查询地区分类下的文章
你可以使用WP_Query
来查询特定地区分类下的文章。
// 假设你已经从URL中获取了地区分类的slug
$area_slug = isset($_GET['area']) ? sanitize_text_field($_GET['area']) : '';
$args = array(
'post_type' => 'post', // 假设你查询的是文章
'tax_query' => array(
array(
'taxonomy' => 'area_category', // 地区分类的别名
'field' => 'slug',
'terms' => array( $area_slug ), // 地区分类的slug
),
),
);
// 创建一个新的查询
$query = new WP_Query( $args );
// 循环输出文章
if ( $query->have_posts() ) {
while ( $query->have_posts() ) {
$query->the_post();
the_title();
// 可以在这里添加其他的模板标签,比如内容摘要、图片等
// ...
}
wp_reset_postdata(); // 重置查询
} else {
// 没有找到文章
echo '没有找到与该地区分类相关的文章。';
}