Is there a way to redirect users to dashboard after purchase?

Is there a way to redirect users to their dashboard after they purchase a course or, to edit the order confirmation page to include a link to start learning. I’m finding customers are confused when they purchase a course, on how to get started. Thanks.

  • Ivan Shulev
    • The Bug Hunter

    Hey Meagan ,

    I hope you are having a nice day so far!

    I’m afraid your question will require some further digging and I will have to call our SLS support team (coding experts).

    Either me or someone else will post an update here.

    Please keep in mind that the response might take a bit longer.

    Thank you for your understanding and I wish you an awesome day ahead!

    Ivan

  • Panos
    • SLS

    Hi Meagan ,

    In order to redirect users to their dashboard you can add the following snippet at your child theme’s functions.php file:

    add_action( 'init', 'wpmudev_redirect_to_cp_account_filter' );

    function wpmudev_redirect_to_cp_account_filter(){
    add_filter( 'mp_order/status_url', 'wpmudev_redirect_to_cp_account', 2, 10 );
    }

    function wpmudev_redirect_to_cp_account( $url, $order ){

    return CoursePress::instance()->get_student_dashboard_slug( true );
    }

    I would prefer editing the order page, as it confirms payment to customer/student. You could try this by adding the following at your child theme’s functions.php file:

    add_action( 'init', 'wpmudev_mp_order_details_filter' );

    function wpmudev_mp_order_details_filter(){

    add_filter( 'mp_order/details', 'wpmudev_mp_order_details', 2, 10 );

    }

    function wpmudev_mp_order_details( $html, $order ){

    $new_html = '
    <!-- MP Single Order Details -->
    <section id="mp-single-order-details" class="mp_orders">
    <div class="mp_order_details">
    <div class="mp_order">' .
    $order->header( false ) .
    '</div><!-- end mp_order -->';

    $order_items = get_post_meta( $order->ID, 'mp_cart_items' );

    $order_items = $order_items[0];

    $course_items_html = '';

    foreach( $order_items as $product_id => $product ){

    $args = array(
    'meta_key' => 'mp_product_id',
    'meta_value' => $product_id,
    'post_type' => 'course',
    'post_status' => 'any',
    'posts_per_page' => 1
    );
    $courses = get_posts($args);

    if( !empty( $courses ) ){

    foreach( $courses as $course ){

    $course_items_html .='

    <div class="mp_orders">
    <div class="mp_course_item mp_order_detail">
    <a href="'.get_permalink( $course->ID ).'">
    ' .
    sprintf(__('View course <strong>%s</strong>', $mp), $course->post_title)
    . '
    </a>
    </div><!-- end mp_course_item -->
    </div>

    ';

    }
    }

    }

    if( $course_items_html != '' ){

    $new_html .= '
    <p></p>
    <div class="mp_order">
    <h3 class="mp_order_head">'. __( 'Courses', 'mp' ) .'</h3>
    '.$course_items_html.'
    </div>
    ';

    }

    $new_html .='
    <div class="mp_order_address">' .
    $order->get_addresses() . '
    </div><!-- end mp_order_address -->
    ';

    $new_html .= '
    </div><!-- end mp_order_details -->
    </section><!-- end mp-single-order-details -->';

    return $new_html;

    }

    Hope this helps!

    Kind regards,

    Panos

  • Panos
    • SLS

    Hi Meagan ,

    I also tried with latest version as Nastia mentioned :slight_smile:

    In case it doesn’t work for you after updating I would need to have a closer look and try it out on your installation. For this I would need to provide ftp access by sending ftp and admin credentials.

    You can send that privately through our contact form: https://premium.wpmudev.org/contact/

    Select “I have a different question?” for your topic – this and the subject line ensure that it gets assigned to me.

    Send in:Subject: “Attn: Panos Lyrakis”

    – Admin login:

    Admin username

    Admin password

    Login url

    – FTP credentials

    host

    username

    password

    (and port if required)

    – link back to this thread for reference

    – any other relevant urls

    Thanks!

    Panos

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.