web-dev-qa-db-ja.com

非表示のカスタムフィールドをwp-admin/post.phpから追加する方法を教えてください。

カスタムフィールド名の前にアンダースコアを使用すると、フロントエンドに表示されなくなります。 _custom_field_name。私の経験では、WordPressはフロントエンドにそのようなカスタムフィールドを追加することもできません。

私が中心となる部分について詳しく説明する前に、私は尋ねたかったです:_custom_fieldsをwp-admin/post.phpから追加することを可能にする「簡単な」方法はありますか?

その理由はこれです:私たちは隠されたカスタムフィールドに頼っています、しかしprodの生産上の問題をトラブルシューティングするときそれは特定の隠されたポストメタを注入することができることが役に立つでしょう。本番データベースを手動で触るのは好きではありません。

what i get

5
editor

次のフィルタ が見つかりました。ここで、すべての保護されたメタデータのロックが解除されました。

add_filter( 'is_protected_meta', '__return_false' ); 

それとも微調整することができます:

add_filter( 'is_protected_meta', function( $protected, $meta_key, $meta_type )
{
    $allowed = array( '_edit_lock', '_test', '_wp_page_template' );
    if( in_array( $meta_key, $allowed ) )
        return false;

    return $protected;
}, 10, 3 );

メタデータを表示したり、新しいものを挿入したりすることができます(グローバルまたは微調整)。

11
brasofilo

アンダースコアで始まるカスタムフィールドは、エディタには表示されません。これは他のメソッドがそれらにアクセスできるようにするためですが、それらは "カスタムフィールド"として表示されません。たとえば、これがほとんどのカスタムフィールドプラグインの動作方法です。

http://codex.wordpress.org/Function_Reference/add_post_meta#Hidden_​​Custom_Fields

これを迂回したい場合は、次のことができるはずです。

http://www.wpbeginner.com/wp-tutorials/how-to-show-hidden-custom-fields-in-wordpress/

1
GhostToast