راکت
حل
9 پاسخ

ریدایرکت صفحه

سلام خسته نباشید
من میخوام وقتی کاربر لایگن کرده مستقیم به صفحه مدنظر بره اما تو تنظیمات دیجیتس چیزی با این عنوان ندیدمممنون میشم راهنمایی کنید
@FullStack @mrahmadi @ossvahid @magicaldev1 @


ثبت پرسش جدید
vahid
vahid
تخصص :توسعه دهنده وردپرس
@vahid13793 سال پیشمطرح شد
0

خب اول از طریق دوتا تابعی که بالا بهت گفتی چک میکنی کابر لاگین کرده یا نه سپس
ی درون شرط ی گلوبال میزنی بنام pagenow این متغییر آدرس صفحه کنونی رو پیدا میکنه
مثلا اگه کاربر در صفحه خانه سایت باشه home.php رو برمیگردونه

global $pagenow

کد بالا دقیقا آدرسی رو بر میگردونه که کاربر درون اون صفحه هستش مثلا ی شرط بزار اگه لاگین بود و داخل فلان صفحه هم بود ری دایرکت بشه

با هوک wp_loaded تست کن ببین میشه


vahid
vahid
تخصص :توسعه دهنده وردپرس
@vahid13793 سال پیشمطرح شد
0

سلام من با

wp_redirect 

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

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

window.location = 'pageurl';

اگه میخای چک کتی کاربر لاگین کرده از

is_user_logged_in() 

یا

get_current_user_id()

فرزاد عامری
فرزاد عامری
تخصص : وردپرس
@Farzadameri3 سال پیشمطرح شد
0

@ossvahid
ممنون میشم راهنمایی کنی اینو کجا قرار بدم و چیکار کنم که اگه مثلا کاربر خواست بره به صفحه x اگه لاگین بود به صفحه y ریدایرکت بسه


vahid
vahid
تخصص :توسعه دهنده وردپرس
@vahid13793 سال پیشمطرح شد
0

خب اول از طریق دوتا تابعی که بالا بهت گفتی چک میکنی کابر لاگین کرده یا نه سپس
ی درون شرط ی گلوبال میزنی بنام pagenow این متغییر آدرس صفحه کنونی رو پیدا میکنه
مثلا اگه کاربر در صفحه خانه سایت باشه home.php رو برمیگردونه

global $pagenow

کد بالا دقیقا آدرسی رو بر میگردونه که کاربر درون اون صفحه هستش مثلا ی شرط بزار اگه لاگین بود و داخل فلان صفحه هم بود ری دایرکت بشه

با هوک wp_loaded تست کن ببین میشه


فرزاد عامری
فرزاد عامری
تخصص : وردپرس
@Farzadameri3 سال پیشمطرح شد
0

@ossvahid
دوست عزیز ممنون از راهنماییت
من این کد رو نوشتم

if (!is_user_logged_in() && is_page('x')) {
   wp_redirect(get_permalink('g'));
   exit;
}

ولی با ارور زیر مواجه میشم
مشاهده


vahid
vahid
تخصص :توسعه دهنده وردپرس
@vahid13793 سال پیشمطرح شد
0

کوکی هارو پاک کن کش هم خالی کن ببین درست میشه بجای

Wp_redirect

از

window.location = 'pageurl'

قسمت

get_permalink('g')

برام نامفهوم هستش من اینطوری مینویسم

site_url().'/login' 

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


vahid
vahid
تخصص :توسعه دهنده وردپرس
@vahid13793 سال پیشمطرح شد
0

زمانی که سایت در یک حلقه تغییر مسیر گیر کند، خطای "too many redirects" در وردپرس رخ می دهد. اگرچه مشکل ممکن است ناامید کننده باشد، باید بتوانید آن را خیلی سریع حل کنید. معمولاً می‌توانید با پاک کردن حافظه پنهان یا کوکی‌ها، خطا را برطرف کنید


فرزاد عامری
فرزاد عامری
تخصص : وردپرس
@Farzadameri3 سال پیشمطرح شد
0

@ossvahid
دوست عزیز
من یه صفحه دارم که فرم ورود داخلش هست ، به آدرس my.example.com و یک صفحه دارم که پنل کاربری داخلش هست به آدرس my.example.com/panel حالا میخوام اگه کاربر لاگین بود نتونه صفحه ورود ببینه و مستقیم به my.example.com/panel فرستاده بشه
یا اگه لاگین نبود نتونه صفحه پنل کاربری ببینه و به صفحه ورود فرستاده بشه


vahid
vahid
تخصص :توسعه دهنده وردپرس
@vahid13793 سال پیشمطرح شد
0

این تابع رو تست کن

function redirect($url)
{
    if (!headers_sent()){
        header("Location: $url");
    }else{
        echo "<script type='text/javascript'>window.location.href='$url'</script>";
        echo "<noscript><meta http-equiv='refresh' content='0;url=$url'/></noscript>";
    }
    exit;
} 

این فیلتر هم شاید بدردت بخوره

function my_login_redirect( $url, $request, $user ) {
    if ( $user && is_object( $user ) && is_a( $user, 'WP_User' ) ) {
        if ( $user->has_cap( 'administrator' ) ) {
            $url = admin_url();
        } else {
            $url = home_url( '/members-only/' );
        }
    }
    return $url;
}

add_filter( 'login_redirect', 'my_login_redirect', 10, 3 );

داخل قسمت های if شرط مورد نظرت رو بزار ببین کار میکنه 🤔


MagicalDev
MagicalDev
تخصص :Laravel Developer
@magicaldev13 سال پیشمطرح شد
1

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

header("Location: Page");

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام