文章目录
本文最后更新于 2023-02-22,已超过 365 天未更新,内容可能已失效。

如果你的文章或者文章类型添加了自定义分类,下面的代码可以在WordPress后台文章列表添加自定义分类下拉筛选框,快速通过自定义分类筛选文章。

代码一:

add_action('restrict_manage_posts', function($post_type){
	if($taxonomies	= get_object_taxonomies($post_type, 'objects')){
		foreach($taxonomies as $taxonomy) {
 
			if(empty($taxonomy->hierarchical) || empty($taxonomy->show_admin_column)){
				continue;
			}
 
			if($taxonomy->name == 'category'){
				$taxonomy_key	= 'cat';
			}else{
				$taxonomy_key	= $taxonomy->name.'_id';
			}
 
			$selected	= 0;
			if(!empty($_REQUEST[$taxonomy_key])){
				$selected	= $_REQUEST[$taxonomy_key];
			}elseif(!empty($_REQUEST['taxonomy']) && ($_REQUEST['taxonomy'] == $taxonomy->name) && !empty($_REQUEST['term'])){
				if($term		= get_term_by('slug', $_REQUEST['term'], $taxonomy->name)){
					$selected	= $term->term_id;
				}
			}elseif(!empty($taxonomy->query_var) && !empty($_REQUEST[$taxonomy->query_var])){
				if($term	= get_term_by('slug', $_REQUEST[$taxonomy->query_var], $taxonomy->name)){
					$selected	= $term->term_id;
				}
			}
 
			wp_dropdown_categories(array(
				'taxonomy'			=> $taxonomy->name,
				'show_option_all'	=> $taxonomy->labels->all_items,
				'show_option_none'	=> '没有设置',
				'hide_if_empty'		=> true,
				'hide_empty'		=> 0,
				'hierarchical'		=> 1,
				'show_count'		=> 0,
				'orderby'			=> 'name',
				'name'				=> $taxonomy_key,
				'selected'			=> $selected
			));
		}
	}
});

代码二:

/*
    * 自定义文章列表添加分类筛选
    */
    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 行,需要根据实际情况修改文章分类和分类法。

CC 许可协议
署名-非商业性使用-相同方式共享 4.0 国际 了解协议
文章链接:https://zptheme.com/6101.html
本文作者:子佩·来源:子佩工作室

除非注明,子佩工作室 文章均为原创,转载请以链接形式标明本文地址。

相关推荐

发表回复

登录后即可发表评论

社交账号登录

全部评论 (2)

/