网站定制客户提出需要为自定义文章类型(产品)的后台列表,添加一个产品分类筛选功能,要实现的效果如下图所示,其中“产品”为我们注册的自定义文章类型,“产品分类”为产品的一种自定义分类法。

以下就是我们实现该功能的代码:
/** 自定义文章列表添加分类筛选* https://www.wpdaxue.com/taxonomy-filter-for-custom-post-type.html*/function wpkj_product_taxonomy_filter() {global $typenow;$post_type = 'product'; // 这是文章类型的slug,需要根据实际情况修改$taxonomy = 'product_category'; // 这是自定义分类法 taxonomy,需要根据实际修改if ($typenow == $post_type) {$selected = isset($_GET[$taxonomy]) ? $_GET[$taxonomy] : '';$info_taxonomy = get_taxonomy($taxonomy);wp_dropdown_categories(array('show_option_all' => sprintf( __( 'ALL %s', 'textdomain' ), $info_taxonomy->label ),'taxonomy' => $taxonomy,'name' => $taxonomy,'orderby' => 'name','selected' => $selected,'hierarchical' => true,'show_count' => true,'hide_empty' => true,'value_field' => 'slug'));};}add_action( 'restrict_manage_posts', 'wpkj_product_taxonomy_filter' );
注意看上面代码的 7-8 行,需要根据实际情况修改文章分类和分类法。
参考钩子:restrict_manage_posts

