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);
?>

在分类页面添加上面代码测试,是否能够显示数据,能够显示即为成功。

© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容