WordPress为分类添加自定义值
在开发一些比较独特的主题过程中,需要自定义很多内容,本文是如何为分类添加自定义缩略图。
将如下代码添加到主题functions.php中:
- //////////////////////////////////为分类添加缩略图
- function salong_add_category_field(){
- echo '<div class="form-field">
- <label for="thumb">'.__('缩略图','salong').'</label>
- <input name="thumb" id="thumb" type="text" value="" size="40">
- <p>'.__('输入分类的缩略图链接。','salong').'</p>
- </div>';
- }
- add_action('category_add_form_fields','salong_add_category_field',10,2);
- // 分类编辑字段
- function salong_edit_category_field($tag){
- echo '<tr class="form-field">
- <th scope="row"><label for="thumb">'.__('灰色地图','salong').'</label></th>
- <td>
- <input name="thumb" id="thumb" type="text" value="';
- echo get_option('thumb-'.$tag->term_id).'" size="40"/><br>
- <span class="thumb">'.$tag->name.__('分类的缩略图链接。','salong').'</span>
- </td>
- </tr>';
- }
- add_action('category_edit_form_fields','salong_edit_category_field',10,2);
- // 保存数据
- function salong_category_thumb($term_id){
- if(isset($_POST['thumb'])){
- //判断权限--可改
- if(!current_user_can('manage_categories')){
- return $term_id;
- }
- $thumb_key = 'thumb-'.$term_id;
- $thumb_value = $_POST['thumb'];
- // 更新选项值
- update_option( $thumb_key, $thumb_value );
- }
- }
- // 虽然要两个钩子,但是我们可以两个钩子使用同一个函数
- add_action('created_category','salong_category_thumb',10,1);
- add_action('edited_category','salong_category_thumb',10,1);
获取分类自定义值代码:
- echo get_option('thumb_color-'.$category_id)
吃货主题中在菜单、首页分类列表上的子分类等都有自定义值的使用。