WordPress 自定义文章类型添加后台分类筛选

如果你的文章或者文章类型添加了自定义分类,下面的代码可以在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 行,需要根据实际情况修改文章分类和分类法。

版权声明:原创作品,未经允许不得转载,否则将追究法律责任。
本站资源有的自互联网收集整理,如果侵犯了您的合法权益,请联系本站我们会及时删除。
本站资源仅供研究、学习交流之用,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。
本文链接:子佩工作室https://zptheme.com/6101.html
许可协议:《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权

本站分为普通会员,SVIP会员,永久会员。
SVIP会员新用户注册即送180天,到期后可邀请好友2位/180天进行无限续期。
永久会员支持微信支付在线开通。

积分是本站通用虚拟货币,可用于文章资源购买。
每天签到,评论或点赞文章,或者投稿都可免费获得积分
新用户注册免费赠送2积分 邀请用户注册2位/2积分

如果您已经成功付款但是网站没有弹出成功提示,请联系售后提供付款信息为您处理

本站资源属于虚拟商品,具有可复制性,可传播性,一旦授予,不接受任何形式的退款、换货要求。请您在购买获取之前确认好 是您所需要的资源

需要效果图的,可以联系售后(右侧核保售后,扫码添加或者点击 加入我们-联系客服)。或者微信添加企业微信:子佩工作室

计划书请提供费率条款(现价分红),100起。WP主题一般单个问题30起。主题二开500起,开发新主题3000起。低于1000须全款,其余先支付全款的60%,完成后支付余下的。

资源是指寿险计划书(定制除外),WP主题或插件不包含在永久会员之内!

发表回复

评论(1)