web-dev-qa-db-ja.com

未使用のプロフィールフィールドを非表示にする方法

「Webサイト」や「伝記情報」など、私が必要としないユーザープロファイルに含まれるフィールドがあります。

私はこの答えからフィールドを隠すために使用するJS関数を見つけました( link )、しかしコアを変更せずにそれをどこに実装すればよいかわかりません。ファイル.

jQuery(document).ready( function($) {
    $('input#url').closest('tr').remove();
    $('input#description').closest('tr').remove();
});
1
J1.

このスクリプトを実行させるには、JS部分を停止して、 add_action 関数を使用して admin_head にフックします。これはあなたのカスタムJSスクリプトをwp-admin領域のヘッダで実行します。以下は、 子テーマのfunction.phpファイルに追加できるコードです。

このJS関数をprofile.phpuser-edit.phpuser-new.phpなどの関連するプロフィールページにのみ実装するという規則を追加したので、そこには表示されません。また、hide()の代わりにremove()を使用することをお勧めします。非表示の代わりに必須フィールド(例:ニックネーム)を削除すると、プロファイルを保存できなくなるためです。 違いについてはこのリンクを参照してください

function wpse_238281_hide_profile_fields() { // Hide unused fields from user profile
    global $pagenow;
    $page = array(
        'profile.php',
        'user-edit.php',
        'user-new.php'
        );
    if ( in_array( $pagenow, $page, true ) ) {
        ?>
        <script type="text/javascript">
            jQuery(document).ready(function($) {
                $('input#url').closest('tr').hide();
                $('input#description').closest('tr').hide();
            } );
        </script>
        <?php
    }
}