سلام آقای محمدی امیدوارم حالتون خوب باشه
من تو پنل کاربری می خوام که بررسی بشه کاربر وارد شده یا نه اگر نه باید به جای داشبورد وارد صفحه auth بشه خب؟ که آدرس صفحه به جای www.example.com/dashboard بشه www.example.com/auth
حالا اومدم با کمک regular expression اون قسمت dispatch_request رو به این شکل نوشتم
if(is_user_logged_in())
{
$url = '/\/dashboard\/?/';
}else{
$url = '/\/auth\/?/';
}
if(!preg_match($url,$request_uri)){
return;
}
خب حالا ولی مشکلی که هست اینه که اگر کاربر لاگین نبود صفحه auth رو نمیشناسه و میگه که صفحه پیدا نشد .
از طرفی هم تو هندلر auth به این صورت تعریف کردم
View::render('auth.login',[],'auth');
ممنون میشم یه راهنمائی بکنید که چیکار میشه کرد .
سلام به نظرم ساده ترین راه اینه که چک کنید اگر کاربر login نبود خیلی راحت منتقلش کنید به صفحه auth. می تونید با استفاده از wp_redirect این کارو انجام بدید.
خب این مشکل به دلیل اینکه کد شما داره داخل یک حلقه میفته به وجود میاد. بهتره توی بخش login چک کنید چون احتمال زیاد یه شرط اشتباهی داره بررسی میشه.