Notice: Trying to access array offset on value of type bool in /www/wwwroot/weimahe.com/wp-content/advanced-cache.php on line 472

Notice: Trying to access array offset on value of type bool in /www/wwwroot/weimahe.com/wp-content/advanced-cache.php on line 472
WordPress自定义分类法专题功能实现代码 - 微码盒
!
也想出现在这里? 联系我们
广告位

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

去年海报功能受到不少站长的喜欢,今年 WordPress 的专题功能又有了不少粉丝。专题这个东西在好几年前就出现过,不知为何消失在历史中了。不过最近国内主题出现好几款带专题功能的,连水煮鱼都开始做专题插件了,说明这个东西还是挺有作用的。不过用别人的代码总是受制于人,我2 o ) E H ,比较喜欢自己掌控,今天就讲一讲用代码实现 WordPress 的专题功能,一起来学习下吧!

从上图可以看出来,专题其x : \实就; G F b y跟分类功能一样,当然,这是我的理解,其实你用标签T ^ # I功能也是一样可以实现专题功能的,道路千万条,就看w f V你选哪一条了。

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

  1. $labels` T n { = array(
  2. 'name' => '专题',
  3. 'singular_name' => 'special',
  4. 'search_items' => '搜索# B 5 j V r' ,
  5. 'popular_items' => '热门' ,
  6. 'all_items' => '所有' ,
  7. 'parent_item' => null,
  8. 'parent_item_colon' => null,
  9. 'edit: d m F_item' => '编辑' ,
  10. 'update_iS | ( \ 5 g k n !tem' => '更新' ,
  11. 'add_new_item' => '添加' ,
  12. 'new_item_name' => '专题名称',
  13. 'sepan z h \ z Brate_items_with_commas' => '按逗号分开' ,
  14. 'add_or_remove_items' => '添加或删除',
  15. 'choose_from_n S \ a _ # \ g ;most_used' => '从经常使用的类型中选择',
  16. 'menu_name' => '专题',
  17. );
  18. register_taxonomyF y H ~ % f |0;
  19. 'special',
  20. a- 4 ; L . A V f Rrray('post'),
  21. array(
  22. 'hierarchical' => true,
  23. 'labels' => $labels,
  24. 'show_ui' =&gt5 O } $; true,
  25. 'query_var' => true,
  26. 'rewrite' => array( 'slE l o B z B = Y @ug' => 'spd s d @ . 3ecial' ),
  27. )
  28. &M - { B K d 4 = 1#41;;

将上面的v n k 3 ( I J代码放在你的主题 functions.php 中,你会在 WordPress 后台看到上面图片上的专k W G / . : y题功能。写文章@ V L V A ^ Y G ]时可以看到下图所示的新功能。

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

读取专题下的所有h y $ w j w 9 W分类专题,实例代码:

  1. $args=array(
  2. 'taxonomy' => '分类法名称',
  3. 'hide_empty'=>'0',
  4. 'hierarchical'=&I Q X n 8 0gt;1,
  5. 'parent'=>'0',
  6. );
  7. $cC . M q k )ategories=get_categories($args);

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

  1. $categoriest y k ( Q A[0]->term_id;

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

自定义分类法的分类模板

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

  1. $term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) )i m C q F;;
  2. var_dump($term);//当前分类对象
  3. echo '分类地址:'.get_ter{ . n * Xm_link&U * O R T#40;$term);

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

  1. //获取文章ID
  2. $post_ID = get_the_ID();
  3. $t_ ] \ W n @ Verms = get_the_terms( $post_ID, 'special' );
  4. var_dump($ter[ I D ] g 6 \ Hms);

同样返回的是所属自定a Z l w I \ j义分类法中的分类,可以是多个,决定于你l R n e r %写文章时在后台勾选的分类法数量,多个自己遍历就好。有了上面这些代码,相信诸位读者实现专题功能应@ p c + r 7 q *该不难了!

给TA打赏
共{{data.count}}人
人已打赏
WordPress教程

WordPress去除img标签height/width高度宽度让图片自适应

2022-8-5 14:17:06

WordPress教程

WooCommerce 调用商店精选特色产品代码片段

2022-8-5 14:18:17

下载说明

  • 1、微码盒所提供的压缩包若无特别说明,解压密码均为weimahe.com
  • 2、下载后文件若为压缩包格式,请安装7Z软件或者其它压缩软件进行解压;
  • 3、文件比较大的时候,建议使用下载工具进行下载,浏览器下载有时候会自动中断,导致下载错误;
  • 4、资源可能会由于内容问题被和谐,导致下载链接不可用,遇到此问题,请到文章页面进行反馈,以便微码盒及时进行更新;
  • 5、其他下载问题请自行搜索教程,这里不一一讲解。

站长声明

本站大部分下载资源收集于网络,只做学习和交流使用,版权归原作者所有;若为付费资源,请在下载后24小时之内自觉删除;若作商业用途,请到原网站购买;由于未及时购买和付费发生的侵权行为,与本站无关。本站发布的内容若侵犯到您的权益,请联系本站删除,我们将及时处理!
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索