سلام خسته نباشید
من میخوام وقتی کاربر لایگن کرده مستقیم به صفحه مدنظر بره اما تو تنظیمات دیجیتس چیزی با این عنوان ندیدمممنون میشم راهنمایی کنید
@FullStack @mrahmadi @ossvahid @magicaldev1 @
خب اول از طریق دوتا تابعی که بالا بهت گفتی چک میکنی کابر لاگین کرده یا نه سپس
ی درون شرط ی گلوبال میزنی بنام pagenow این متغییر آدرس صفحه کنونی رو پیدا میکنه
مثلا اگه کاربر در صفحه خانه سایت باشه home.php رو برمیگردونه
global $pagenow
کد بالا دقیقا آدرسی رو بر میگردونه که کاربر درون اون صفحه هستش مثلا ی شرط بزار اگه لاگین بود و داخل فلان صفحه هم بود ری دایرکت بشه
با هوک wp_loaded تست کن ببین میشه
سلام من با
wp_redirect
کار کردم خیلی درست و حسابی کار نمیکرد البته برای پلاگین استفاده کردم
من از جاوااسکریپت استفاده میکنم و خوب کار میکنه
window.location = 'pageurl';
اگه میخای چک کتی کاربر لاگین کرده از
is_user_logged_in()
یا
get_current_user_id()
@ossvahid
ممنون میشم راهنمایی کنی اینو کجا قرار بدم و چیکار کنم که اگه مثلا کاربر خواست بره به صفحه x اگه لاگین بود به صفحه y ریدایرکت بسه
خب اول از طریق دوتا تابعی که بالا بهت گفتی چک میکنی کابر لاگین کرده یا نه سپس
ی درون شرط ی گلوبال میزنی بنام pagenow این متغییر آدرس صفحه کنونی رو پیدا میکنه
مثلا اگه کاربر در صفحه خانه سایت باشه home.php رو برمیگردونه
global $pagenow
کد بالا دقیقا آدرسی رو بر میگردونه که کاربر درون اون صفحه هستش مثلا ی شرط بزار اگه لاگین بود و داخل فلان صفحه هم بود ری دایرکت بشه
با هوک wp_loaded تست کن ببین میشه
کوکی هارو پاک کن کش هم خالی کن ببین درست میشه بجای
Wp_redirect
از
window.location = 'pageurl'
قسمت
get_permalink('g')
برام نامفهوم هستش من اینطوری مینویسم
site_url().'/login'
اگه درست نشد دقیق بگو چیکار میخای بکنی یعنی کامل توضیح بده از فلان صفحه برای فلان کار میخام اینکارو بکنم تا متوجه بشم
زمانی که سایت در یک حلقه تغییر مسیر گیر کند، خطای "too many redirects" در وردپرس رخ می دهد. اگرچه مشکل ممکن است ناامید کننده باشد، باید بتوانید آن را خیلی سریع حل کنید. معمولاً میتوانید با پاک کردن حافظه پنهان یا کوکیها، خطا را برطرف کنید
@ossvahid
دوست عزیز
من یه صفحه دارم که فرم ورود داخلش هست ، به آدرس my.example.com و یک صفحه دارم که پنل کاربری داخلش هست به آدرس my.example.com/panel حالا میخوام اگه کاربر لاگین بود نتونه صفحه ورود ببینه و مستقیم به my.example.com/panel فرستاده بشه
یا اگه لاگین نبود نتونه صفحه پنل کاربری ببینه و به صفحه ورود فرستاده بشه
این تابع رو تست کن
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 شرط مورد نظرت رو بزار ببین کار میکنه 🤔
درود
با استفاده از این مقدار هم میشه کاربر رو به صفحه ای انتقال داد
header("Location: Page");
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟