WordPress自定义分类法专题功能实现代码

  • 文章介绍
  • 评价建议
  • 温馨提示:
    本站为源代码分享站,源码多为网友投稿 我们没有对源码进行测试,不保证可用性、安全性以及版权归属。 因源码具有可复制性,一经购买 ,不得以任何形式退款。
    如需商业用途 请点击商业源码栏目,购买商业源码.
    客服QQ:977439673
    WordPress自定义分类法专题功能实现代码

    专题这个东西在好几年前就出现过,不知为何消失在历史中了。不过最近国内主题出现好几款带专题功能的,连水煮鱼都开始做专题插件了,说明这个东西还是挺有作用的。不过用别人的代码总是受制于人,我比较喜欢自己掌控,今天就讲一讲用代码实现 WordPress 的专题功能,一起来学习下吧!
    从上图可以看出来,专题其实就跟分类功能一样,当然,这是我的理解,其实你用标签功能也是一样可以实现专题功能的,道路千万条,就看你选哪一条了。

    本文所讲的专题实现办法是通过 WordPress 提供的函数,为 post 文章类型注册一个专题,WordPress 默认为 post 文章类型注册了分类。我们注册的专题就和默认的分类相似,看代码:

     $labels = array(   
            'name' => '专题',    
            'singular_name' => 'special',   
            'search_items' =>  '搜索' ,   
            'popular_items' => '热门' ,   
            'all_items' => '所有' ,   
            'parent_item' => null,   
            'parent_item_colon' => null,   
            'edit_item' => '编辑' ,    
            'update_item' => '更新' ,   
            'add_new_item' => '添加' ,   
            'new_item_name' => '专题名称',   
            'separate_items_with_commas' => '按逗号分开' ,   
            'add_or_remove_items' => '添加或删除',   
            'choose_from_most_used' => '从经常使用的类型中选择',   
            'menu_name' => '专题',   
        );    
        register_taxonomy(   
            'special',   
            array('post'),   
            array(   
                'hierarchical' => true,   
                'labels' => $labels,   
                'show_ui' => true,   
                'query_var' => true,   
                'rewrite' => array( 'slug' => 'special' ),   
            )   
        );
    

     

    将上面的代码放在你的主题 functions.php 中,你会在 WordPress 后台看到上面图片上的专题功能。写文章时可以看到下图所示的新功能。

    WordPress自定义分类法专题功能实现代码

    register_taxonomy 的使用这里不多讲,需要的自己去查手册。但是在使用时,大家要注意该方法的第一个参数必须是英文类型的,不能使用中文,这个参数是即将注册的分类名称,记住它,下面读取数据会用到它,WordPress 默认的分类名称是 category。

    读取专题下的所有分类专题,实例代码:

    $args=array(
    	'taxonomy' => '分类法名称',
    	'hide_empty'=>'0',
    	'hierarchical'=>1,
    	'parent'=>'0',
    );
    $categories=get_categories($args);
    

    将返回的数组遍历,可以得到每个分类对象,通过

    $categories[0]->term_id;
    

    这样的方式来获得对应数据,当然你也可以使用其它方法来取得数据,这里我只是举个例子。

    自定义分类法的分类模板

    前面我们创建了一个名叫 special 的专题分类,我们只需要在主题目录下创建一个 taxonomy-special.php 模板文件,访问我们自定义的分类法下的分类时,WordPress 会自动使用这个模板来处理。也许你已经发现其中的奥秘,没错,taxonomy-分类法名称.php 就是这样的格式。在自定义分类法分类模板中输出当前所在分类信息,使用如下代码:

    $term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) );
    var_dump($term);//当前分类对象
    echo '分类地址:'.get_term_link($term);
    

    在文章页面获取当前文章所属自定义分类法中的分类信息,可以通过如下代码实现:

    //获取文章ID
    $post_ID = get_the_ID();
    $terms = get_the_terms( $post_ID, 'special' );
    var_dump($terms);
    

    同样返回的是所属自定义分类法中的分类,可以是多个,决定于你写文章时在后台勾选的分类法数量,多个自己遍历就好。有了上面这些代码,相信诸位读者实现专题功能应该不难了!

    Leave a Reply

  • 如本资源侵犯了您的权益,[email protected]!我们将在收到邮件的1个小时内处理完毕。

  • 本站仅为平台,发布的资源均为用户投稿或转载!所有资源仅供参考学习使用,请在下载后的24小时内删除,禁止商用!

  • OKMG(芒果源码)助力正版,如您有自己的原创产品,可以联系客服投稿,代理出售!

  • OKMG(芒果源码)客服QQ:29139260

  • OKMG(芒果源码)商务电话(仅对企业客户/个人用户请联系QQ客服):010-86463891

  • 请注意:本站不提供任何免费的技术咨询服务,为了节约时间,下载前 请确认自己会技术
  • 免责声明 芒果源码,一个精品商业网站源码分享平台 WWW.OKMG.CN 1. 本站所有资源来源于用户上传和网络,均不允许转载,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除! 3. 如发现会员转载本站资源文章,本站有权封禁会员账号! 4. 不得使用于非法商业用途,不得违反国家法律。否则后果自负! 5. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 6. 如有链接无法下载、失效或广告,请联系管理员处理! 7. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 8. 如遇到加密压缩包,默认解压密码为"www.okmg.cn",如遇到无法解压的请联系管理员! 9.本站客服:29139260

    售后服务:

    • 售后服务范围 1、商业模板使用范围内问题免费咨询
      2、源码安装、模板安装(一般 ¥50-300)服务答疑仅限SVIP用户
      3、单价超过200元的模板免费一次安装,需提供服务器信息。
      付费增值服务 1、提供dedecms模板、WordPress主题、discuz模板优化等服务请详询在线客服
      2、承接 WordPress、DedeCMS、Discuz 等系统建站、仿站、开发、定制等服务
      3、服务器环境配置(一般 ¥50-300)
      4、网站中毒处理(需额外付费,500元/次/质保三个月)
      售后服务时间 周一至周日(法定节假日除外) 9:00-23:00
      免责声明 本站所提供的模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: [email protected]),我们会及时删除,给您带来的不便,我们深表歉意!

    Hi, 如果你对这款模板有疑问,可以跟我联系哦!

    联系客服
    开通VIP 享更多特权,建议使用 QQ 登录
    /** * 项目名称:用户离开标题切换 */