最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

theme development - How can I remove specific custom post meta from the "Custom Fields" fieldset?

programmeradmin7浏览0评论

I've created a custom meta box to handle certain custom post meta fields and I don't want the clutter of having these custom fields duplicated down in the "Custom Fields" area.

How can I remove specific custom post meta from the "Custom Fields" fieldset?

I've created a custom meta box to handle certain custom post meta fields and I don't want the clutter of having these custom fields duplicated down in the "Custom Fields" area.

How can I remove specific custom post meta from the "Custom Fields" fieldset?

Share Improve this question asked Sep 15, 2010 at 16:18 Scott BScott B 5,69614 gold badges94 silver badges148 bronze badges 1
  • Can anyone provide a suggestion on how to use the is_protected_meta hook to hide multiple custom field keys based on a substring that’s in the key name? There’a plugin that I’m using that added a whole bunch of custom field keys and I want to hide them from the admin interface without breaking the plugin. For example, I want to hide ALL custom field keys that start with “review-” or “bsf-” – technabob Commented Jul 26, 2020 at 21:09
Add a comment  | 

2 Answers 2

Reset to default 2

To hide a custom field from the "Custom Fields" section, prefix it with an underscore. So add_post_meta($id, 'name', 'value'); becomes add_post_meta($id, '_name', 'value');.

Here's a good reference for backup:

  • How to Hide Your Plugin's Custom Fields

You can hook into the is_protected_meta filter and return true for any custom field you want to hide.

add_filter('is_protected_meta', 'my_is_protected_meta_filter', 10, 2);
function my_is_protected_meta_filter($protected, $meta_key) {
    return $meta_key == 'meta-name' ? true : $protected;
}
发布评论

评论列表(0)

  1. 暂无评论