大理高端网站建设|网站托管|极速建站|WordPress主题设计开发

WordPress为分类添加自定义值

2016-12-24 228次

在开发一些比较独特的主题过程中,需要自定义很多内容,本文是如何为分类添加自定义缩略图。

将如下代码添加到主题functions.php中:

  1. //////////////////////////////////为分类添加缩略图
  2. function salong_add_category_field(){
  3.     echo '<div class="form-field">
  4.             <label for="thumb">'.__('缩略图','salong').'</label>
  5.             <input name="thumb" id="thumb" type="text" value="" size="40">
  6.             <p>'.__('输入分类的缩略图链接。','salong').'</p>
  7.           </div>';
  8. }
  9. add_action('category_add_form_fields','salong_add_category_field',10,2);
  10. // 分类编辑字段  
  11. function salong_edit_category_field($tag){
  12.     echo '<tr class="form-field">
  13.             <th scope="row"><label for="thumb">'.__('灰色地图','salong').'</label></th>
  14.             <td>
  15.                 <input name="thumb" id="thumb" type="text" value="';  
  16.                 echo get_option('thumb-'.$tag->term_id).'" size="40"/><br>
  17.                 <span class="thumb">'.$tag->name.__('分类的缩略图链接。','salong').'</span>
  18.             </td>
  19.         </tr>';
  20. }
  21. add_action('category_edit_form_fields','salong_edit_category_field',10,2);
  22. // 保存数据  
  23. function salong_category_thumb($term_id){
  24.     if(isset($_POST['thumb'])){
  25.         //判断权限--可改  
  26.         if(!current_user_can('manage_categories')){
  27.             return $term_id;
  28.         }
  29.         $thumb_key = 'thumb-'.$term_id;
  30.         $thumb_value = $_POST['thumb'];
  31.         // 更新选项值  
  32.         update_option( $thumb_key$thumb_value );
  33.     }
  34. }
  35. // 虽然要两个钩子,但是我们可以两个钩子使用同一个函数  
  36. add_action('created_category','salong_category_thumb',10,1);
  37. add_action('edited_category','salong_category_thumb',10,1);

获取分类自定义值代码:

  1. echo get_option('thumb_color-'.$category_id)

吃货主题中在菜单、首页分类列表上的子分类等都有自定义值的使用。