!
也想出现在这里? 联系我们
广告位

无插件代码实现WordPress分类目录模板选择功能

WordPress 分类目录是一种文章分类的集合,在一些中大型网站中,不同的分类会有不同的版面样式,如果版面类型不多的情况下,可以使用代码进行判断,实现不同分类调用不同的分类目录模板。

但是如e + : ) ^果一个网站中的分类目录模板比较多,使用, i ` r F a z代码判断就比较麻烦了。常用的方法就是给分类目录添加分类目录模板选择功能。这样在网站开发时b | ),就可以自由的选择想显示的模板了。如下图

怎么给 WordPress 分类目录添加模板选择功能呢?方法很简单,只需要将以下的函数代码粘贴到自己使用的模板的模板函数里即可。

  1. /*分类模板选择*/
  2. class Select_Categord ) K * y - ~y_Template{
  3. public function __construct() {
  4. add_filter( 'category_template', a; H d { Lrray($this,'gb ) 5 Set_custom_category_template' ));
  5. add_action ( 'edit_category_form_fields', array($this,'category_template_meta_box'p S 5 @ = 8 e C));
  6. add_action( 'category_add_form_fields', array( &$this, 'category_teD 9 V 4 n Tmplatel 3 3 O [ D_meta_box') );
  7. add_action( 'created_category', array( &ampp H 6 d ^ ~ 5 Q;$this, 'save_category_template' ));
  8. add_action ( 'ediC p 7 p E v ( Pted_category', array($this,'save_cat2 0 0 K : % J ,egory_template'));
  9. do_K ) , D R &actioX v r ) ? % /n('Custom_Category_Template_constructor',$this);
  10. }
  11. //p % C ) 添加表单到分类编辑页面
  12. public fund F C n 3 ; _ction category_template_meta_box( $tag ) {
  13. $t_id = $tag->term_id;
  14. $cat_meta = get_option( &} 3 6 5 \ f o equot;category_templates");
  15. $template =k W k 0 c isset($cat_meta[$t_id]) ? $cat_meta[$t_id] : false;
  16. ?>
  17. <tr class="form-field">
  18. <th scope="row" valign="top"><label for=&quotq % Q Z _;cat_Image_url">l K 2 p :<?php _eu \ 2 x !40;'Category Template'); ?&gtR r G;</label><q w E ^ k x ^ 6 )/th>
  19. <td>
  20. <select name="cat_template" id="cat_temply l & O q w n A jate">
  21. <option value='default'><?php _e('Default Template'); ?></option>
  22. <?php pa2 M 2 S \ge_template_+ { 6 [ m C U B Cdropdown($template); ?>
  23. </select>
  24. &{ | Ult;br />
  25. <span class="deX 7 uscription"&N E I ] 8gt;<?php _eO a S A B0;'为1 4 F此分类选择一个模G V i W L 5 D y板'); ?></span>
  26. </td>
  27. </tr>
  28. <?php
  29. do_action(j ^ Z !'Custom_Category_Template_ADD_FIELDS',$tag);
  30. }
  31. // 保存表单
  32. public functiw A { q + , Kon savev { & 0 /_category_template( $term_id ) {
  33. if ( isset( $_POST['cat_template'] )) {
  34. $cat_meta = get_option( "category_templates");
  35. $ca3 X R L 1 s S & Vt_meta[$term_id] = $_POST['cat_template'];
  36. update_opti. ( u f [ ? O ^on( "cated \ b k F 4gory_temp= 7 vlate| 1 n k U A 5 7 gs", $cat_metaq | l L P );
  37. do_acz ) W / d a ~tion('Custom_Category_Template_SAVE_FIELDS',$term_id);
  38. }
  39. }
  40. // 处理选择的分类模板
  41. function get_custom_category_template( $category_template ) {
  42. $cat_ID = absint( get_query_var('cat') );
  43. $cate J 5 + )_meta = get_option('category_template O h + =es');
  44. if` ; Z l (isset($c! ? + e a Aat_meta[$cat_ID]) && $cat_meta[$cat_ID] != 'default' ){
  45. $temp = locate_2 Q A G x R 4 / Xtemplate($cat_meta[$ca@ g H i } C ntj ) @ ) x z t 6 |_ID]);
  46. if (!- - ] y G ? U aempty($temp))
  47. return apply_fiN z p ;ltersa + K 0 q $ I0;"Custom_Cate5 P v qgory_Templats { = Q k B z re_found",$temp);
  48. }
  49. return $F 8 [ * ( Dcategory_template;
  50. ^ ; 3 + : e =25;
  51. }
  52. $cat_template = new Select_Category_Template();
  53. /*分类模板选择*/

通过这个代码就可以轻松给 WordPress 后台分类目录添加模板选择功能了。

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

PHP代码判断WordPress不同页面调用边栏导航

2022-8-26 14:37:04

WordPress教程

WordPress 文章列表实现AJAX无刷新翻页方法

2022-8-26 14:38:20

下载说明

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

站长声明

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