wordpress 多条件筛选插件,wordpress 多重筛选,巧用自定义分类法,每个项目只能单选

演示效果http://www.gengu.org/tag/lol

本方法不需要自定义文章类型(模型).用系统自动的文章功能即可使用,修改简单实用.

比如我们要增加行业及分类两个自定义分类.

前台效果图

wordpress 多条件筛选插件,wordpress 多重筛选,巧用自定义分类法,每个项目只能单选_第1张图片

后台效果图,发表文章时,右下角会自动显示

wordpress 多条件筛选插件,wordpress 多重筛选,巧用自定义分类法,每个项目只能单选_第2张图片

 

一,在模板的functions.php中的最底部,php结束标签前面,添加如下代码

 

//自定义文章类型
// 搜索关键字 register_taxonomy
add_action( 'init', 'create_hangye' );//wordpress初始化
function create_hangye() {
$labels = array(
	'name' => _x( '产品行业筛选', '产品应用的行业选项' ),
	'singular_name' => _x( 'hangye', '行业名称' ),
	'search_items' =>  __( '行业搜索' ),
	'all_items' => __( '全部行业' ),
	
	
	'edit_item' => __( '修改标签' ),
	'update_item' => __( '更新标签' ),
	'add_new_item' => __( '增加新的行业标签' ),
	'new_item_name' => __( '新行业名字' ),
	);
 
  register_taxonomy('hangye','post',array(
	'hierarchical' => True,
	'labels' => $labels
	));
}
add_action( 'init', 'create_mycats' );//wordpress初始化
function create_mycats() {
$labels = array(
	'name' => _x( '产品分类筛选', '筛选' ),
	'singular_name' => _x( 'mycats', 'taxonomy singular name' ),
	'search_items' =>  __( '产品分类搜索' ),
	'all_items' => __( '全部产品分类' ),

	'edit_item' => __( '修改标签' ),
	'update_item' => __( '更新标签' ),
	'add_new_item' => __( '增加新的产品分类标签' ),
	'new_item_name' => __( '新产品分类名字' ),
	);
 
  register_taxonomy('mycats','post',array(
	'hierarchical' => True,
	'labels' => $labels
	));
}

 

 

 

 

 

其中,register_taxonomy为自定义分类的注册函数,系统自带的.

'hierarchical' => True表示后台发表文章时,自定义选项为复选框的形式.直接打勾即可.而不是手工填写.其它参数网上搜索查看吧

修改后,上传,后台即可看到效果.如图,然后进去增加选项即可.

wordpress 多条件筛选插件,wordpress 多重筛选,巧用自定义分类法,每个项目只能单选_第3张图片

 

二,顶级分类模板上,循环调用子分类.及子分类下的部分文章

假如要在分类编号为3的顶级分类上使用本插件,则在模板目录中.建立category-3.php这个模板,里面内容,可参考以下代码

 

 


>行业: 0 ){ foreach ( $terms as $term ) { if(strtolower(urlencode($_GET['hangye']))==$term->slug){ echo '' . $term->name . ''; }else{ echo '' . $term->name . ''; } } } ?>

>分类: 0 ){ foreach ( $terms as $term ) { if(strtolower(urlencode($_GET['mycats']))==$term->slug){ echo '' . $term->name . ''; }else{ echo '' . $term->name . ''; } } } ?>


term_id; // 子分类ID //$cat_name = $category->cat_name; // 子分类名称 ?>

 

注意, 模板中筛选需要通过js实用,代码直接加在模板中

 

 

 

 

 

 

 

 

 

三,搜索结束页模板.

结束页默认使用archive.php归档模板.如果要使用专用模板.必须新建立一个名为taxonomy.php的新模板.里面内容参考.

 



   


如果要为其中一个分类法定义一个专用模板.比如行业模板.可以建立一个taxonomy-hangye.php.模板即可.

 

 

四.搜索结束的链接优化.

 

如果想用http://www.360.com/color/red这种形式的链接来显示,那就需要重新制作一个对应自定义分类的页面来展示。
这里我们使用tag的展现方式(这里以twentytwelve为例)
首先我们复制一份tag.php文件,重新命名为taxonomy-color.php(color为我们之前命名的分类名)。
get_header(); ?>下方添加代码

 

 

' . single_tag_title( '', false ) . '' ); ?>

替换为

' . $term->name . '' ); ?>

 

 

 

 

 

在

while ( have_posts() ) : the_post();

的下面添加

query_posts(array( 'post_type'=>'post', 'color'=>$term->slug));

保存即可使用

wordpress 多条件筛选插件,wordpress 多重筛选,巧用自定义分类法,每个项目只能单选_第4张图片

 

 

你可能感兴趣的:(wordpress相关)