ریدایرکت کاربر به صفحه خانگی پس از ورود با ووکامرس

کد با ما - کد ووکامرس
کد با ما – کد ووکامرس

فرض کنید میخواهیم کاربر پس از ورود یا لاگین موفق در وردپرس با اکانت وکامرس خود به جای هدایت به صفحه حساب کاربری به صفحه دیگری منتقل شود.مثلا به جای حساب کاربری به صفحه خانگی برود.

کد انتقال کاربر پس از لاگین به ووکامرس به صفحه دیگر

بیشتر قالب های وردپرسی دارای افزونه ووکامرس هستند و کاربر با ورد به حساب وردپرس خود در واقع روی بخش حساب کاربری ووکامرس وارد شده است مخصوصا اگر سایت فروشگاهی باشد.حال میخواهیم کدی داشته باشیم تا بدون نیاز به افزونه ریدایرکت یا همان مسیر جاری را تغییر دهیم.

روش اول

قطعه کدهای زیر را در بخش functions.php وردپرس خود وارد کنید :

پلتفرم بوی اجرا شدن خروجی صحیح قطعه کد زیر را تایید می کند

قطعه کدی که در زیر مشاهده می کنید توسط برنامه کامپایلر به جهت تست آزمایش شده و خروجی صحیح مدنظر را بدست آورد.

//redirect after login

add_filter('woocommerce_login_redirect', 'wc_login_redirect');
function wc_login_redirect( $redirect_to ) {
     $redirect_to = 'https://platformboy.com/whats-new/';
     return $redirect_to;
}

به جای ادرس سایت platformboy آدرس موردنظر خود را وارد کنید.

روش دوم

/*
 * goes in theme functions.php or a custom plugin
 *
 * By default login goes to my account
 **/
add_filter('woocommerce_login_widget_redirect', 'custom_login_redirect');

function custom_login_redirect( $redirect_to ) {
     $redirect_to = 'http://anypage.com';
}

روش سوم

add_action('wp_logout','go_home');
function go_home(){
  wp_redirect( home_url() );
  exit();
}

روش چهارم

//Redirect users to custom URL based on their role after login

function wp_woo_custom_redirect( $redirect, $user ) {

// Get the first of all the roles assigned to the user
$role = $user->roles[0];
$dashboard = admin_url();
$myaccount = get_permalink( wc_get_page_id( 'my-account' ) );

if( $role == 'administrator' ) {

    //Redirect administrators to the dashboard
    $admin_redirect = get_option('admin_redirect');
    $redirect = $admin_redirect;
} elseif ( $role == 'shop-manager' ) {

    //Redirect shop managers to the dashboard
    $shop_manager_redirect = get_option('shop_manager_redirect');
    $redirect = $shop_manager_redirect;
} elseif ( $role == 'customer' || $role == 'subscriber' ) {

    //Redirect customers and subscribers to the "My Account" page
    $customer_redirect = get_option('customer_redirect');
    $redirect = $customer_redirect;
} else {

    //Redirect any other role to the previous visited page or, if not available, to the home
    $redirect = wp_get_referer() ? wp_get_referer() : home_url();
}
return $redirect;
}
add_filter( 'woocommerce_login_redirect', 'wp_woo_custom_redirect', 10, 2 );

 

کدهای ووکامرس بیشتر

آیا این مطلب برای شما مفید بود؟

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *