3

編集後のカスタムフィールド領域から特定のメタキーを非表示にしたいのですが。「test1」という名前のメタキーがあるとしましょう。編集投稿/ページに表示されたくありません。ただし、「test2」、「test3」、「test4」など、他のカスタムフィールドも表示したいと思います。

remove_meta_box('postcustom'、'post'、'normal')について何か読んだことがありますが、すべてのカスタムフィールドが非表示になっています。

また、メタキーの名前を「_test1」に変更する方法についても読みました。はい、非表示になっていますが、プラグインがそのメタキー( "test1")も使用しているため、問題が発生します。したがって、メタキーの名前をアンダースコアで始めるのは良い考えではありません。

特定のカスタムフィールドを非表示にするコード/関数はありますか?ユーザーにその「test1」カスタムフィールドを編集させたくありませんが、それでも他のカスタムフィールドを編集できます。

ありがとう!

4

1 に答える 1

8

フィルタにフックして、is_protected_meta非表示にするカスタムフィールドに対してtrueを返すことができます。

add_filter('is_protected_meta', 'my_is_protected_meta_filter', 10, 2);
function my_is_protected_meta_filter($protected, $meta_key) {
    return $meta_key == 'test1' ? true : $protected;
}
于 2011-09-08T16:29:49.000 に答える