要给WordPress分类目录添加自定义META属性字段,你可以使用WordPress的自定义分类法(Custom Taxonomies)和自定义字段(Custom Fields)功能来实现。以下是一个步骤的概述:
创建自定义分类法:
在你的WordPress主题或插件中,你可以使用register_taxonomy
函数来创建自定义分类法。在创建分类法时,确保设置meta_box_cb
参数,以便你可以添加自定义META属性字段的元框。
function custom_taxonomy_with_meta() {
$labels = array(
'name' => 'Custom Categories',
'singular_name' => 'Custom Category',
);
$args = array(
'hierarchical' => true, // 是否支持层次结构
'labels' => $labels,
'meta_box_cb' => 'add_custom_meta_box', // 添加自定义META属性字段的回调函数
// 其他参数
);
register_taxonomy('custom_category', 'post', $args); // 注册自定义分类法
}
add_action('init', 'custom_taxonomy_with_meta');
添加自定义META属性字段的元框:
创建一个回调函数 add_custom_meta_box
,用于添加自定义META属性字段的元框。这将为每个分类创建一个自定义元框,你可以在其中输入自定义的META属性值。
function add_custom_meta_box($post) {
add_meta_box(
'customcategorymetabox',
'Custom Category Meta',
'render_custom_meta_box',
'custom_category',
'normal',
'high'
);
}
function render_custom_meta_box($post) {
$custom_meta = get_term_meta($post>term_id, 'custom_meta', true);
?>
保存自定义META属性值:
创建一个回调函数,用于保存自定义META属性值。当你更新分类时,这个函数将更新相应的META属性值。
function save_custom_meta($term_id) {
if (isset($_POST['custommeta'])) {
$custom_meta = sanitize_text_field($_POST['custommeta']);
update_term_meta($term_id, 'custom_meta', $custom_meta);
}
}
add_action('edited_custom_category', 'save_custom_meta');
显示自定义META属性值:
最后,你可以在你的WordPress模板文件中使用get_term_meta
函数来获取和显示自定义META属性值。
$custom_meta = get_term_meta(get_queried_object_id(), 'custom_meta', true);
echo 'Custom Meta: ' . esc_html($custom_meta);
通过以上步骤,你就可以给WordPress分类目录添加自定义META属性字段,并在模板中显示它们。确保根据你的需求调整字段名称和样式。