web-dev-qa-db-fra.com

Afficher les informations biographiques lors de la création d'un nouvel utilisateur

Est-il possible d'afficher le champ d'informations biographiques lors de la création d'un nouvel utilisateur? Je sais qu'il est possible d'ajouter une biographie d'utilisateur en modifiant un utilisateur APRÈS sa création. Mais je voudrais faire ceci en créant l'utilisateur.

3
Jules

Non. Il n'y a pas de crochets ni de filtres permettant d'ajouter un champ de saisie au formulaire de création d'utilisateur.

Peut-être est-il possible d'ajouter un champ de saisie via jQuery. Je ne l'ai pas testé.

S'il est possible d'ajouter un champ de saisie, il devrait être possible de sauvegarder ces informations car le processus de création d'un utilisateur est identique à la mise à jour d'un utilisateur existant.

Mettre à jour

Oui, il est possible d'ajouter un champ de saisie avec jQuery. Et oui, il est possible d'ajouter des données supplémentaires à la création de l'utilisateur.

Tant que vous utilisez les mêmes champs que sur l'écran d'édition d'utilisateur, il ne reste que quelques lignes de code:

PHP

add_action( 'admin_print_scripts-user-new.php', 'add_jquery' );

function add_jquery(){

    wp_enqueue_script(
        'add_input_field',
        plugins_url( 'stackexchange.js', __FILE__ ),
        array( 'jquery' ),
        false,
        true
    );

}

JS

jQuery( document ).ready(

    function($){

        var insertElements = 
            '<tr class="form-field">' +
            '   <th scope="row"><label for="description">Biographical Info</label></th>' +
            '   <td><textarea name="description" id="description" rows="5" cols="30"></textarea><br /><span class="description">Share a little biographical information to fill out your profile. This may be shown publicly.</span></td>' +
            '</tr>';

        $( '#createuser .form-table tbody' ).append( insertElements );

    }

);

J'ai simplement mis en file d'attente un fichier javascript sur le nouvel écran de l'utilisateur. Dans ce javascript, le balisage de la ligne de la table et du champ de saisie est ajouté à la table.

Dans cet exemple, je copie simplement le balisage à partir de l'écran d'édition d'utilisateur. Il n’est donc pas nécessaire de faire autre chose car, comme je l’ai mentionné ci-dessus, créer un utilisateur est le même processus que modifier un utilisateur.

Si vous souhaitez créer votre propre champ (par exemple, un champ pour un lien vers un profil Twitter), vous devez vous connecter aux données de modification des utilisateurs et afficher les données des utilisateurs. Il existe de très bons exemples et tutoriels sur le net sur ce sujet. Vous pouvez en trouver un à WP Engineers .

5
Ralf912