سلام خسته نباشید
من میخوام وقتی کاربر لایگن کرده مستقیم به صفحه مدنظر بره اما تو تنظیمات دیجیتس چیزی با این عنوان ندیدمممنون میشم راهنمایی کنید
@FullStack @mrahmadi @ossvahid @magicaldev1 @
خب اول از طریق دوتا تابعی که بالا بهت گفتی چک میکنی کابر لاگین کرده یا نه سپس
ی درون شرط ی گلوبال میزنی بنام pagenow این متغییر آدرس صفحه کنونی رو پیدا میکنه
مثلا اگه کاربر در صفحه خانه سایت باشه home.php رو برمیگردونه
global $pagenow
کد بالا دقیقا آدرسی رو بر میگردونه که کاربر درون اون صفحه هستش مثلا ی شرط بزار اگه لاگین بود و داخل فلان صفحه هم بود ری دایرکت بشه
با هوک wp_loaded تست کن ببین میشه
@ossvahid
ممنون میشم راهنمایی کنی اینو کجا قرار بدم و چیکار کنم که اگه مثلا کاربر خواست بره به صفحه x اگه لاگین بود به صفحه y ریدایرکت بسه
شاید پاسخ شما همینجا باشد
@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 شرط مورد نظرت رو بزار ببین کار میکنه 🤔