Antworten auf deine Fragen:
Neues Thema erstellen

Probleme mit einer Weiterleitung

Adri26

Noch nicht viel geschrieben

hey,

ich sitze momentan an einem Plugin für wordpress was ich umgestalten muss, weil es nicht dem entspricht, was ich gerne hätte (dem aber sehr sehr nah kommt)

Ich habe schon gelernt, dass wenn sich ein User registriert, die unten eingefügte Datei verantwortlich ist für den Ablauf.
Ich habe auch schon gelernt, dass wenn ich die Zeilen 172 bis 222 auskommentiere, der User NICHT automatisch angemeldet wird und der registrierte Benutzer auf die Startseite weitergeleitet wird.
Jetzt will ich aber, dass der User auf eine BESTIMMTE Seite weitergeleitet wird...

Wie stelle ich das an ?

Danke für eure Hilfe :)

EDIT
Habe jetzt mit nem kollegen rausgefunden, dass die Zeile 198 für den Auto-Login verantwortlich ist. Aber wenn ich diese ausklammer werde ich auf die Startseite geleitet...

PHP:
<?php

    /***
    ***    @account automatically approved
    ***/
    add_action('um_post_registration_approved_hook', 'um_post_registration_approved_hook', 10, 2);
    function um_post_registration_approved_hook($user_id, $args){
        global $ultimatemember;
        $ultimatemember->user->approve();
    }

    /***
    ***    @account needs email validation
    ***/
    add_action('um_post_registration_checkmail_hook', 'um_post_registration_checkmail_hook', 10, 2);
    function um_post_registration_checkmail_hook($user_id, $args){
        global $ultimatemember;
        $ultimatemember->user->email_pending();
    }

    /***
    ***    @account needs admin review
    ***/
    add_action('um_post_registration_pending_hook', 'um_post_registration_pending_hook', 10, 2);
    function um_post_registration_pending_hook($user_id, $args){
        global $ultimatemember;
        $ultimatemember->user->pending();
    }

    /***
    ***    @add user to wordpress
    ***/
    add_action('um_add_user_frontend', 'um_add_user_frontend', 10);
    function um_add_user_frontend($args){
        global $ultimatemember;
        extract($args);


        if ( isset( $username ) && !isset($args['user_login']) ) {
            $user_login = $username;
        }

        if ( ! empty( $first_name ) &&  ! empty( $last_name ) && ! isset( $user_login ) ) {

            if ( um_get_option('permalink_base') == 'name' ) {
                $user_login = rawurlencode( strtolower( str_replace(" ",".",$first_name." ".$last_name ) ) );
            }else if ( um_get_option('permalink_base') == 'name_dash' ) {
                $user_login = rawurlencode( strtolower( str_replace(" ","-",$first_name." ".$last_name ) ) );
            }else if ( um_get_option('permalink_base') == 'name_plus' ) {
                $user_login = strtolower( str_replace(" ","+",$first_name." ".$last_name ) );
            }else{
                $user_login = strtolower( str_replace(" ","",$first_name." ".$last_name ) );
            }

            // if full name exists
            $count = 1;
            while( username_exists( $user_login ) ) {
                $user_login .= $count;
                $count++;
            }
        }

        if( !isset( $user_login ) && isset( $user_email ) && $user_email )
        {
            $user_login = $user_email;
        }

        $unique_userID = $ultimatemember->query->count_users() + 1;

        if ( ! isset( $user_login ) ) {
            $user_login = 'user' . $unique_userID;
        }

        if ( isset( $username ) && is_email( $username ) ) {
            $user_email = $username;
        }

        if ( ! isset( $user_password ) ){
            $user_password = $ultimatemember->validation->generate();
        }


        if( ! isset( $user_email ) ) {
            $user_email = 'nobody' . $unique_userID . '@' . get_bloginfo('name');
        }


        $creds['user_login'] = $user_login;
        $creds['user_password'] = $user_password;
        $creds['user_email'] = $user_email;

        $args['submitted'] = array_merge( $args['submitted'], $creds);
        $args = array_merge($args, $creds);


        do_action('um_before_new_user_register', $args);

        $user_id = wp_create_user( $user_login, $user_password, $user_email );

        do_action('um_after_new_user_register', $user_id, $args);

        return $user_id;
    }

    /***
    ***    @after adding a new user
    ***/
    add_action('um_after_new_user_register', 'um_after_new_user_register', 10, 2);
    function um_after_new_user_register($user_id, $args){
        global $ultimatemember, $pagenow;
        extract($args);

        um_fetch_user( $user_id );

        if ( !isset( $args['role'] ) ) {
            $role = um_get_option('default_role');
        }

        if ( $pagenow != 'user-new.php' && !array_key_exists( $role, $ultimatemember->query->get_roles( false, array('admin') ) ) ) {
            $role = um_get_option('default_role');
        }

        $ultimatemember->user->set_role( $role );

        $ultimatemember->user->set_registration_details( $args['submitted'] );

        $ultimatemember->user->set_plain_password( $args['user_password'] );

        $ultimatemember->user->set_last_login();

        do_action('um_new_user_registration_plain');

        do_action('um_post_registration_save', $user_id, $args);

        do_action('um_post_registration_listener', $user_id, $args);

        do_action('um_post_registration', $user_id, $args);

    }

    /***
    ***    @Update user's profile after registration
    ***/
    add_action('um_post_registration_save', 'um_post_registration_save', 10, 2);
    function um_post_registration_save($user_id, $args){
        global $ultimatemember;

        unset( $args['user_id'] );
        $args['_user_id'] = $user_id;
        $args['is_signup'] = 1;

        do_action('um_user_edit_profile', $args);

    }

    /***
    ***    @post-registration admin listender
    ***/
    add_action('um_post_registration_listener', 'um_post_registration_listener', 10, 2);
    function um_post_registration_listener($user_id, $args){
        global $ultimatemember;

        if ( um_user('status') != 'pending' ) {
            $ultimatemember->mail->send( um_admin_email(), 'notification_new_user', array('admin' => true ) );
        } else {
            $ultimatemember->mail->send( um_admin_email(), 'notification_review', array('admin' => true ) );
        }

    }

  
  
    /***
    ***    @post-registration procedure
    ***/
    add_action('um_post_registration', 'um_post_registration', 10, 2);
    function um_post_registration($user_id, $args){
        global $ultimatemember;
        extract($args);

        $status = um_user('status');

        do_action("um_post_registration_global_hook", $user_id, $args);

        do_action("um_post_registration_{$status}_hook", $user_id, $args);

        if ( !is_admin() ) {

            do_action("track_{$status}_user_registration");

            // Priority redirect
            if ( isset( $args['redirect_to'] ) ) {
                exit( wp_redirect(  urldecode( $args['redirect_to'] ) ) );
            }

            if ( $status == 'approved' ) {

                $ultimatemember->user->auto_login($user_id);
                if ( um_user('auto_approve_act') == 'redirect_url' && um_user('auto_approve_url') !== '' ) exit( wp_redirect( um_user('auto_approve_url') ) );
                if ( um_user('auto_approve_act') == 'redirect_profile' ) exit( wp_redirect( um_user_profile_url() ) );

            }

            if ( $status != 'approved' ) {

                if ( um_user( $status . '_action' ) == 'redirect_url' && um_user( $status . '_url' ) != '' ) {
                    exit( wp_redirect( um_user( $status . '_url' ) ) );
                }

                if ( um_user( $status . '_action' ) == 'show_message' && um_user( $status . '_message' ) != '' ) {
                    $url = $ultimatemember->permalinks->get_current_url();
                    $url =  add_query_arg( 'message', esc_attr( $status ), $url );
                    $url =  add_query_arg( 'uid', esc_attr( um_user('ID') ), $url );

                    exit( wp_redirect( $url ) );
                }

            }

        }

    }

    /***
    ***    @new user registration
    ***/
    add_action('um_user_registration', 'um_user_registration', 10);
    function um_user_registration($args){
        global $ultimatemember;

        do_action('um_add_user_frontend', $args);

    }

    /***
    ***    @form processing
    ***/
    add_action('um_submit_form_register', 'um_submit_form_register', 10);
    function um_submit_form_register($args){
        global $ultimatemember;

        if ( !isset($ultimatemember->form->errors) ) do_action('um_user_registration', $args);

        do_action('um_user_registration_extra_hook', $args );

    }

    /***
    ***    @Register user with predefined role in options
    ***/
    add_action('um_after_register_fields', 'um_add_user_role');
    function um_add_user_role( $args ){

        global $ultimatemember;

        if ( isset( $args['custom_fields']['role_select'] ) || isset( $args['custom_fields']['role_radio'] ) ) return;

        $use_global_settings = get_post_meta( $args['form_id'], '_um_register_use_globals', true);
      
        if (isset($args['role']) && !empty($args['role']) && $use_global_settings == 0 ) {
            $role = $args['role'];
        } else if( $use_global_settings == 1 ) {
            $role = um_get_option('default_role');
        }

        echo '<input type="hidden" name="role" id="role" value="' . $role . '" />';

    }

    /***
    ***    @Show the submit button (highest priority)
    ***/
    add_action('um_after_register_fields', 'um_add_submit_button_to_register', 1000);
    function um_add_submit_button_to_register($args){
        global $ultimatemember;

        // DO NOT add when reviewing user's details
        if ( isset( $ultimatemember->user->preview ) && $ultimatemember->user->preview == true && is_admin() ) return;

        $primary_btn_word = $args['primary_btn_word'];
        $primary_btn_word = apply_filters('um_register_form_button_one', $primary_btn_word, $args );

        $secondary_btn_word = $args['secondary_btn_word'];
        $secondary_btn_word = apply_filters('um_register_form_button_two', $secondary_btn_word, $args );

        $secondary_btn_url = ( isset( $args['secondary_btn_url'] ) && $args['secondary_btn_url'] ) ? $args['secondary_btn_url'] : um_get_core_page('login');
        $secondary_btn_url = apply_filters('um_register_form_button_two_url', $secondary_btn_url, $args );

        ?>

        <div class="um-col-alt">

            <?php if ( isset($args['secondary_btn']) && $args['secondary_btn'] != 0 ) { ?>

            <div class="um-left um-half"><input type="submit" value="<?php echo $primary_btn_word; ?>" class="um-button" /></div>
            <div class="um-right um-half"><a href="<?php echo $secondary_btn_url; ?>" class="um-button um-alt"><?php echo $secondary_btn_word; ?></a></div>

            <?php } else { ?>

            <div class="um-center"><input type="submit" value="<?php echo $primary_btn_word; ?>" class="um-button" /></div>

            <?php } ?>

            <div class="um-clear"></div>

        </div>

        <?php
    }

    /***
    ***    @Show Fields
    ***/
    add_action('um_main_register_fields', 'um_add_register_fields', 100);
    function um_add_register_fields($args){
        global $ultimatemember;

        echo $ultimatemember->fields->display( 'register', $args );

    }
 
Zuletzt bearbeitet:

owieortho

Aktives Mitglied

In Zeile 199 wird die 'redirect_url' angegeben. Der hinterlegte Wert ist die Startseite. Du müsstest dort, wo die redirect_url definiert wird eine andere URL angeben. Entweder ist der php-Code ein Ausschnitt und im fehlenden Teil wird u. A. der relevante Teil inkludiert oder aber diese Daei wird selbst inkludiert und hat dort die Variablen zur Verfügung. Es würde mich jedoch wundern, wenn WP oder andere CMS sowas nicht über entsprechende Einstellungen im Backend erlauben, anstatt im Quellcode herumzudoktern.

O.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Keine Mitglieder online.

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben