ریدایرکت کردن صفحه wp-login.php به برگه دلخواه - خدمات وردپرس وب نما | خدمات وردپرس وب نما
امکان جستجو پیشرفته به زودی جایگزین میشود

ریدایرکت کردن صفحه wp-login.php به برگه دلخواه

بازگشت

به جایی که از آن میآیید
Want create site? Find Free WordPress Themes and plugins.

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

مثلا صفحه ورود پیشفرض را به برگه ورود (که خودتان ایجاد کردید) ریدایرکت کنید و صفحه ثبت نام را هم همینطور به برگه عضویت

کافیست کدهای زیر را درون فایل functions.php قرار دهید

ریدایرکت کردن صفحه لاگین:

function redirect_login()
{
    if (!is_user_logged_in()) {
        wp_redirect(home_url('/login'));
        exit();
    }else{
        wp_redirect(home_url());
    }
}
add_action( 'login_form_login', 'redirect_login' );
ریدایرکت کردن صفحه ثبت نام:
function redirect_register()
{
    if (!is_user_logged_in()) {
        wp_redirect( home_url( '/registration' ) );
    exit();
    }else{
        wp_redirect(home_url());
    }
}
add_action( 'login_form_register', 'redirect_register' );
همچنین میتوانید صفحه profile.php را نیز به برگه دلخواه وصل کنید
add_action ('init' , 'prevent_profile_access');
function prevent_profile_access(){
    if (current_user_can('manage_options')) return '';
    if (strpos ($_SERVER ['REQUEST_URI'] , 'wp-admin/profile.php' )){
        wp_redirect ( home_url( '/profile' ) );
    }
}
برای صفحه فراموشی رمز عبور
function redirect_lost(){
    if (!is_user_logged_in()) {
        wp_redirect( home_url( '/registration' ) );
    exit();
}else{
    wp_redirect(home_url());
}
}
add_action( 'login_form_lostpassword', 'redirect_register' );

نتیجه گیریدر کل ریدایرکت ها با تابع wp_redirect انجام میشود که برگرفته از تابع header در php میباشد

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

  1. گرفتن url با آرایه سراسری SERVER
  2. گرفتن آدرس فعلی صفحه با متغیر سراسری $pagenow در وردپرس
  3. اکشن ها (login_form_login مثلا)

 

راه دوم

این روش استاندارد تر است و میتوان از تابع wp_search_form بدون مشکل استفاده کرد

در مراحل قبلی نمیشد

add_action ('init' , 'prevent_profile_access');
function prevent_profile_access(){
    if (current_user_can('manage_options')) return '';
    if (strpos ($_SERVER ['REQUEST_URI'] , 'wp-admin/profile.php' )){
        wp_redirect ( home_url() );
    }
}

 

add_action ('init' , 'prevent_login_access');
function prevent_login_access(){
    if (current_user_can('manage_options')) return '';
    if (strpos ($_SERVER ['REQUEST_URI'] , 'wp-login' )){
        wp_redirect ( home_url() );
    }

}

میخواهیم فقط و فقط صفحه ورود را ریدایرکت کنیم

add_action ('init' , 'prevent_login_access');
function prevent_login_access(){
    if (current_user_can('manage_options')) return '';
    if (!strpos($_SERVER ['REQUEST_URI'] , 'wp-login.php?action')){
        wp_redirect ( home_url() );
    }
}

صفحه ثبت نام و فراموشی برعکس

اگر سوالی در مورد این مطلب دارید در قسمت نظرات همین پست ارسال کنید

Did you find apk for android? You can find new Free Android Games and apps.

0 دیدگاه ها در "ریدایرکت کردن صفحه wp-login.php به برگه دلخواه"

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

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

اطلاعیه های سایت...

این چیست؟

تخفیف 30 درصدی محصولات وردپرس به مناسبت ماه مبارک رمضان

کد تخفیف : ramazan97

ورود به فروشگاه