魔扣论坛

魔扣源码论坛业务
查看: 1525|回复: 5

[经验交流] WordPress 通过自定义分类法(post custom taxonomy)来筛选文章

[复制链接]
  • TA的每日心情
    难过
    21 小时前
  • 签到天数: 2954 天

    [LV.Master]开坛老将

    7万

    主题

    227

    回帖

    27万

    积分

    管理员

    Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30

    魔扣币
    745683
    贡献
    157891
    威望
    32799

    最佳新人活跃会员热心会员推广达人宣传达人突出贡献优秀版主荣誉管理论坛元老

    发表于 2017-6-15 17:46:28 | 显示全部楼层 |阅读模式
    魔扣币兑换比例:【 50以下 : ¥1 = 10 魔扣币 】丨【 50 - 100 :¥1 = 20 魔扣币】丨【 100以上:¥1 = 30 魔扣币 】

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x

    有很多人找魔扣科技做筛选功能,不管是自定义字段筛选还是分类法筛选,或者分类与标签筛选,其实都大同小异,这里魔扣科技提供自定义分类法筛选文章的功能教程。

    首先,新建自定义分类法,这里举例两个:

    1. add_action('init', 'MBT_post_type');
    2. function MBT_post_type() {
    3. register_taxonomy(
    4. 'people',
    5. 'post',
    6. array(
    7. 'label' => '人物',
    8. 'rewrite' => array( 'slug' => 'people' ),
    9. 'hierarchical' => true
    10. )
    11. );
    12. register_taxonomy(
    13. 'company',
    14. 'post',
    15. array(
    16. 'label' => '企业',
    17. 'rewrite' => array( 'slug' => 'company' ),
    18. 'hierarchical' => true
    19. )
    20. );
    21. }
    复制代码

    加入以上代码后,需要在后台更新下固定链接(设置-固定链接,不用改什么,点保存更改即可)。

    再者就是建立筛选页面,这里主要放出主要筛选代码。
    获取需要筛选的元素列表:

    1. $arr = array(1,2,3); //数组
    2. if(count($arr) > 0){
    3. foreach($arr as $people){
    4. $p = get_term_by("id",$people,"people");
    5. $class = ($_GET['people'] == $people)?'active':'';
    6. echo '<a href="?people='.$people.'" class="'.$class.'" rel="nofollow">'.$p->name.'</a>';
    7. }
    8. }
    复制代码

    处理筛选逻辑:

    1. $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    2. if(isset($_GET['people'])){
    3. $args = array(
    4. 'post_type' => 'post',
    5. 'tax_query' => array(
    6. array(
    7. 'taxonomy' => 'people',
    8. 'field' => 'term_id',
    9. 'terms' => $_GET['people'],
    10. ),
    11. ),
    12. 'paged' => $paged
    13. );
    14. }else{
    15. $args = array(
    16. 'post_type' => 'post',
    17. 'paged' => $paged
    18. );
    19. }
    20. query_posts($args);
    21. while ( have_posts() ) : the_post();
    22. //循环列表的item
    23. endwhile; wp_reset_query();
    复制代码

    以上代码就是当传入一个people的tag_id时,就筛选出当前人物的文章。

    值得注意的是,通过筛选后的文章分页,可能需要去掉最后的wp_reset_query(); 具体情况看你们自己测试分页时是否有效。

    以上介绍的是单层筛选,当然还可以多层筛选,有需要的可以找模板兔定制开发~


    会员购买:>> 点击购买 << | 魔扣币购买:>> 点击购买 <<
    承接业务:服务器代维丨网站托管丨SEO
    联系客服:微信:morko-net | QQ:1367681973

    该用户从未签到

    2

    主题

    220

    回帖

    443

    积分

    中级魔扣

    Rank: 3Rank: 3

    魔扣币
    220
    贡献
    220
    威望
    1
    发表于 2017-6-15 18:26:13 来自手机 | 显示全部楼层
    元芳你怎么看?

    该用户从未签到

    1

    主题

    263

    回帖

    527

    积分

    高级魔扣

    Rank: 4

    魔扣币
    263
    贡献
    263
    威望
    0
    发表于 2017-10-29 14:20:45 | 显示全部楼层
    人生就像是一次浪漫的旅游,每一站都会和不同的人擦肩,有的渐行渐远、有的从此结缘,我珍惜每一个有“缘”能结识的好友,忙碌的时候、魔扣源码论坛也没能忘记你曾带给我的每一份情谊。

    该用户从未签到

    3

    主题

    261

    回帖

    525

    积分

    高级魔扣

    Rank: 4

    魔扣币
    261
    贡献
    261
    威望
    0
    发表于 2018-1-15 17:18:19 来自手机 | 显示全部楼层
    没有声音但有祝福,没有鲜花但有真情。静静打开你的空间,慢慢上传我的祝福。让快乐和你度过每一秒,愿平安同你走过每一分!因为牵挂,我来问候;因为相知,我来祝福;因为珍惜,我来看朋友;因为缘分,魔扣源码论坛让我懂得了友情的珍贵。祝朋友永远开心快乐!

    该用户从未签到

    3

    主题

    245

    回帖

    495

    积分

    中级魔扣

    Rank: 3Rank: 3

    魔扣币
    247
    贡献
    247
    威望
    0
    发表于 2018-7-31 13:09:22 | 显示全部楼层
    真诚的朋友虽然遥远还是心绪相牵!纯真的友谊即是难聚仍然温馨美甜!魔扣源码论坛祝福好朋友事事顺心如意快乐天天!远方的我时时为您衷心的祈祷祝愿!

    该用户从未签到

    3

    主题

    279

    回帖

    561

    积分

    高级魔扣

    Rank: 4

    魔扣币
    279
    贡献
    279
    威望
    0
    发表于 2019-1-10 18:49:40 | 显示全部楼层
    我的祝福是一只蝴蝶,随风儿飘到你的枕边,做个好梦,把明天的承诺兑现!如果你有烦恼,我就陪你一个夜晚;只要你开心,我随时陪在你的身边!闭上眼睛,送你一份甘甜,张开双臂,拥你一份浪漫!魔扣源码论坛祝福亲爱的朋友:永远开心!永远灿烂!
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    • 联系我们
    • 新浪微博 :
    • 在线客服 :魔扣科技 
    • 源码QQ群 :魔扣源码论坛官方总群
    • 联系邮箱 :charlin#morko.net
    • 微信扫一扫
    快速回复 返回顶部 返回列表