web-dev-qa-db-fra.com

Comment personnaliser le fichier wp-signup.php pour un réseau multisite?

J'ai googlé sur la personnalisation de wp-signup.php mais je n'ai trouvé aucune chance. Voici ce dont j'ai besoin:

  1. L'utilisateur va s'inscrire.
  2. Lors du processus d'inscription, l'utilisateur devra payer en premier (comme Paypal ou carte de crédit).
  3. Créer un sous-domaine lorsque l'utilisateur a payé avec succès.

Mon problème est le suivant: comment puis-je ajouter un champ de paiement dans wp-signup.php? Je suis vraiment nouveau sur wordpress. Tout guide ou lien m’aide beaucoup.

Le formulaire d'inscription ressemble à ceci:

  • username
  • adresse électronique
  • donne-moi un site
  • paiement
  • bouton d'enregistrement
3
jayellos

Le formulaire d’inscription a des crochets différents pour les champs personnalisés.

J'espère que cet exemple de source vous aidera.

    /**
     * Add custom field to registration form
     */
    add_action( 'register_form', 'fb_show_first_name_field' );
    add_action( 'register_post', 'fb_check_fields', 10, 3 );
    add_action( 'user_register', 'fb_register_extra_fields' );

    function fb_show_first_name_field() {
    ?>
        <p>
            <label>Twitter<br/>
                <input id="Twitter" type="text" tabindex="30" size="25" value="<?php echo $_POST['Twitter']; ?>" name="Twitter" />
            </label>
        </p>
    <?php
    }

    function fb_check_fields ( $login, $email, $errors ) {
        global $Twitter;

        if ( '' === $_POST['Twitter'] )
            $errors->add( 'empty_realname', "<strong>ERROR</strong>: Please Enter your Twitter handle" );
        else
            $Twitter = $_POST['Twitter'];

    }

    function fb_register_extra_fields ( $user_id, $password = "", $meta = array() ) {

        update_user_meta( $user_id, 'Twitter', $_POST['Twitter'] );
    }

Il est également utile, je pense, que vous ajoutiez les champs à la page rpofile pour les modifications et l’affichage du contenu du champ.

    /**
     * Add additional custom field
     */
    add_action( 'show_user_profile', 'fb_show_extra_profile_fields' );
    add_action( 'edit_user_profile', 'fb_show_extra_profile_fields' );

    function fb_show_extra_profile_fields( $user ) {
    ?>
        <h3>Extra profile information</h3>
        <table class="form-table">
            <tr>
                <th><label for="Twitter">Twitter</label></th>
                <td>
                    <input type="text" name="Twitter" id="Twitter" value="<?php echo esc_attr( get_the_author_meta( 'Twitter', $user->ID ) ); ?>" class="regular-text" /><br />
                    <span class="description">Please enter your Twitter username.</span>
                </td>
            </tr>
        </table>
    <?php
    }

    add_action( 'personal_options_update',  'fb_save_extra_profile_fields' );
    add_action( 'edit_user_profile_update', 'fb_save_extra_profile_fields' );
    function fb_save_extra_profile_fields( $user_id ) {

        if ( ! current_user_can( 'edit_user', $user_id ) )
            return FALSE;

        /* Copy and paste this line for additional fields. Make sure to change 'Twitter' to the field ID. */
        update_user_meta( $user_id, 'Twitter', $_POST['Twitter'] );
    }
4
bueltge