wordpress标签多个模板选择的问题

网站需要建立多个标签的模板,后台在新建标签或者编辑标签时可以选择模板,可是我自己不大懂代码和程序,我找遍了整个网络,只找到了不同分类选择不同模板的方法,下面是不同分类选择不同模板的代码,请问我该怎么改成不同标签选择不同模板呢?代码如下:

1.  // 分类选择模板
2.  class  Select_Category_Template{
3.  public  function __construct()  {
4.  add_filter(  'category_template', array($this,'get_custom_category_template'  ));
5.  add_action (  'edit_category_form_fields', array($this,'category_template_meta_box'));
6.  add_action(  'category_add_form_fields', array(  &$this,  'category_template_meta_box')  );
7.  add_action(  'created\_category', array(  &$this,  'save_category\_template'  ));
8.  add_action (  'edited_category', array($this,'save_category_template'));
9.  do_action('Custom_Category_Template_constructor',$this);
10.  }

12.  // 添加表单到分类编辑页面
13.  public  function category_template_meta_box( $tag )  {
14.  $t_id = $tag->term_id;
15.  $cat_meta = get_option(  "category_templates");
16.  $template = isset($cat_meta[$t_id])  ? $cat_meta[$t_id]  :  false;
17.  ?>
18.  <tr class="form-field">
19.  <th scope="row" valign="top"><label for="cat_Image_url"><?php _e('Category Template');  ?></label></th>
20.  </td>
21.  <select name="cat_template" id="cat_template">
22.  <option value='default'><?php _e('Default Template');  ?></option>
23.  <?php page_template_dropdown($template);  ?>
24.  </select>
25.  <br />
26.  <span class="description"><?php _e('为此分类选择一个模板');  ?></span>
27.  </td>
28.  </tr>
29.  <?php
30.  do_action('Custom_Category_Template_ADD_FIELDS',$tag);
31.  }

33.  // 保存表单
34.  public  function save_category_template( $term_id )  {
35.  if  ( isset( $_POST['cat_template']  ))  {
36.  $cat_meta = get_option(  "category_templates");
37.  $cat_meta[$term_id]  = $_POST['cat_template'];
38.  update_option(  "category_templates", $cat_meta );
39.  do_action('Custom_Category_Template_SAVE_FIELDS',$term_id);
40.  }
41.  }

43.  // 处理选择的分类模板
44.  function get_custom_category_template( $category_template )  {
45.  $cat_ID = absint( get_query_var('cat')  );
46.  $cat_meta = get_option('category_templates');
47.  if  (isset($cat_meta[$cat_ID])  && $cat_meta[$cat_ID]  !=  'default'  ){
48.  $temp = locate_template($cat_meta[$cat_ID]);
49.  if  (!empty($temp))
50.  return apply_filters("Custom_Category_Template_found",$temp);
51.  }
52.  return $category_template;
53.  }
54.  }

56.  $cat_template =  new  Select_Category_Template();
阅读 1.1k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题