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

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

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

  1.  $labels = array(
  2.         'name' => '专题',
  3.         'singular_name' => 'special',
  4.         'search_items' =>  '搜索' ,
  5.         'popular_items' => '热门' ,
  6.         'all_items' => '所有' ,
  7.         'parent_item' => null,
  8.         'parent_item_colon' => null,
  9.         'edit_item' => '编辑' ,
  10.         'update_item' => '更新' ,
  11.         'add_new_item' => '添加' ,
  12.         'new_item_name' => '专题名称',
  13.         'separate_items_with_commas' => '按逗号分开' ,
  14.         'add_or_remove_items' => '添加或删除',
  15.         'choose_from_most_used' => '从经常使用的类型中选择',
  16.         'menu_name' => '专题',
  17.     );
  18.     register_taxonomy(
  19.         'special',
  20.         array('post'),
  21.         array(
  22.             'hierarchical' => true,
  23.             'labels' => $labels,
  24.             'show_ui' => true,
  25.             'query_var' => true,
  26.             'rewrite' => array( 'slug' => 'special' ),
  27.         )
  28.     );

将上面的代码放在你的主题 functions.php 中,你会在 WordPress 后台看到上面图片上的专题功能。写文章时可以看到下图所示的新功能。
WordPress自定义分类法专题功能实现代码-云模板register_taxonomy 的使用这里不多讲,需要的自己去查手册。但是在使用时,大家要注意该方法的第一个参数必须是英文类型的,不能使用中文,这个参数是即将注册的分类名称,记住它,下面读取数据会用到它,WordPress 默认的分类名称是 category。

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

  1. $args=array(
  2. 	'taxonomy' => '分类法名称',
  3. 	'hide_empty'=>'0',
  4. 	'hierarchical'=>1,
  5. 	'parent'=>'0',
  6. );
  7. $categories=get_categories($args);

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

  1. $categories[0]->term_id;

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

自定义分类法的分类模板

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

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

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

  1. //获取文章ID
  2. $post_ID = get_the_ID();
  3. $terms = get_the_terms( $post_ID, 'special' );
  4. var_dump($terms);

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

原创文章,作者:DavidWu,如若转载,请注明出处:https://www.davidwu.net/archives/90658

WordPress安全防护插件
服务项目 服务内容 收费标准(元)
开发定制 WordPress主题/插件开发定制 (以最终需求为准)
主题/插件汉化 汉化团队WordPress主题/插件,翻译率95% (以标的主题/插件的句子数量为准)
服务器环境配置 基于您现有服务器,搭建配置网站运行环境,结合我们多年来实战经验,可完美支持WordPress等PHP程序运行,并配置伪静态规则、优化目录权限等问题。服务器我们强烈推荐使用Linux系统。 100元/次
网站托管 若贵站目前尚无技术人员,无法完成服务器环境配置,可选择我们的网站托管服务,直接交付正常运行的WordPress站点,并且无需担心服务器的后续维护工作,一切都由我们来帮您完成。 标配套餐:1000元/年/站点 高配套餐:联系客服获取
网站加速优化 从服务器后端配置优化到WordPress数据库缓存、前端页面缓存、JS和CSS压缩合并,全方位优化网站加载速度,实现秒开。(此服务仅针对(云)服务器/VPS) 500元/次(仅站内优化200元/次)
主题配置 本站所有主题均支持,可快速实现,若有任何问题可以咨询客服解决,若您希望我们提供配置服务,可选购此服务。 英文主题安装 60元/次 汉化主题安装 30元/次
HTTPS配置 HTTPS已经不断普及,并且有着更高的安全性以及SEO上的优待。该服务收取的为服务费,SSL证书产生的费用请自行承担。 100元/次
网站搬家 迁移网站所有文件和数据库信息、网站相关配置的调整、以及迁移中的疑难问题故障排除。 标准收费:500元/次 若网站数据量大,需协商
网站运维 提供整站的运维服务,保证网站正常运行。包含:网站故障定位及排除、网站数据备份和恢复、网站攻击及木马等问题的处理等 标准收费:2000元/年 IP 5000以上需协商

发表评论

电子邮件地址不会被公开。 必填项已用*标注

51建站客服微信二维码
点击这里购买