web-dev-qa-db-fra.com

Fonction comme is_registration_page pour vérifier si la page en cours est la page d'enregistrement

Vous pouvez utiliser is_admin pour vérifier si la page Web actuelle fait partie de l'interface administrateur de WordPress.

Existe-t-il un moyen de savoir si la page en cours de traitement est la page d'enregistrement?

1
Flimm

Vous pouvez créer votre propre fonction simple.

function is_registration_page() {
    if ( $GLOBALS['pagenow'] == 'wp-login.php' && isset($_REQUEST['action']) && $_REQUEST['action'] == 'register' ) {
        return true;
    }
    return false;
}
2
Sean Michaud

Que diriez-vous d'essayer d'intercepter la page d'enregistrement via des points d'ancrage. Voici un exemple d'utilisation de points d'ancrage pour ajouter un champ au formulaire d'inscription (ci-dessous) ... En fonction de votre situation, vous pouvez utiliser ce point (et le point d'ancrage pour intercepter un formulaire soumis) comme moyen d'atteindre votre objectif. re cherche.

J'ai ajouté dans une ligne: $ GLOBALS ['is_registration'] = TRUE;

Notez cependant que cette variable globale peut ne pas être disponible au moment où vous en avez besoin. Vous devrez tester pour voir.

<?php
add_action( 'register_form', 'myplugin_add_registration_fields' );
function myplugin_add_registration_fields() {

    $GLOBALS['is_registration'] = TRUE;

    //Get and set any values already sent
    $user_extra = ( isset( $_POST['user_extra'] ) ) ? $_POST['user_extra'] : '';
?>
    <label for="user_extra"><?php _e( 'Extra Field', 'myplugin_textdomain' ) ?>
    <input type="text" name="user_extra" id="user_extra" class="input" value="<?php echo esc_attr( stripslashes( $user_extra ) ); ?>" size="25" /></label>
<?php
}
?>

Pour en savoir plus sur ces actions/filtres, consultez: https://codex.wordpress.org/Plugin_API/Action_Reference/register_form

1
signal2013