今天给给大家分享一篇给分类目录添加自定义字段WordPress教程。
看完这篇教程,大家应该就能够动手实现纯代码在分类目录添加分类关键词、分类缩略图等功能,效果如下图所示:
这里我们是给分类目录添加了一个分类关键词的表单,具体步骤见下文:
分类添加字段
首先我们添加分类字段
// 分类添加字段 function ems_add_category_field(){ echo '<div class="form-field"> <label for="cat-keywords">关键词</label> <input name="cat-keywords" id="cat-keywords" type="text" value="" size="40"> <p>输入关键词</p> </div>'; } add_action('category_add_form_fields','ems_add_category_field',10,2);
编辑分类字段
然后编辑分类字段,添加input框等代码
// 编辑分类字段 function ems_edit_category_field($tag){ echo '<tr class="form-field"> <th scope="row"><label for="cat-keywords">关键词</label></th> <td> <input name="cat-keywords" id="cat-keywords" type="text" value="'; echo get_option('cat-keywords-'.$tag->term_id).'" size="40"/><br> <p class="description">'.$tag->name.' 关键词</p> </td> </tr>'; } add_action('category_edit_form_fields','ems_edit_category_field',10,2);
保存数据
接下来是保存数据
// 保存数据 function ems_taxonomy_metadate($term_id){ if(isset($_POST['cat-keywords'])){ //判断权限--可改 if(!current_user_can('manage_categories')){ return $term_id; } $cat_key = 'cat-keywords-'.$term_id; // key 选项名为 cat-keywords-1 类型 $cat_value = $_POST['cat-keywords']; // value // 更新选项值 update_option( $cat_key, $cat_value ); } }
最后就是钩子了
这里需要两个钩子,但是我们可以两个钩子使用同一个函数
add_action('created_category','ems_taxonomy_metadate',10,1); add_action('edited_category','ems_taxonomy_metadate',10,1);
使用方法
首先,将上面步骤的代码依次加入到主题的 functions.php 文件内, 然后按照下面方法获取数据。
获取数据
<?php $categories = get_the_category(); $term_id = $categories[0]->term_id; echo get_option('cat-keywords-'.$term_id); ?>
在分类页面添加上面代码测试,是否能够显示数据,能够显示即为成功。