web-dev-qa-db-fra.com

Comment masquer les champs de profil non utilisés?

Il existe des champs dans le profil de l'utilisateur dont je n'ai pas besoin, tels que "Site Web" et "Informations biographiques" ...

J'ai trouvé une fonction JS à utiliser pour masquer les champs de cette réponse ( link ), mais je ne sais pas où l'implémenter sans changer le cœur des dossiers.

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

Vous avez la partie JS abaissée. Pour exécuter ce script, vous pouvez utiliser la fonction add_action et la relier à admin_head .). Votre script JS personnalisé sera exécuté dans l'en-tête de la zone wp-admin. Vous trouverez ci-dessous le code que vous pouvez ajouter à votre fichier function.php du thème enfant).

J'ai ajouté une règle pour mettre en œuvre cette fonction JS uniquement dans les pages de profil associées, telles que profile.php, user-edit.php et user-new.php, afin que vous ne la voyiez pas à cet endroit. De plus, je préfère utiliser hide() au lieu de remove() car si vous supprimiez un champ obligatoire (ex: surnom) au lieu de le masquer, vous aurez du mal à enregistrer votre profil. Voir ce lien pour les différences .

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
    }
}
1