نقش کاربر

پرسیده شده
فعالیت 1248 روز پیش
دیده شده 526 بار
0

سلام

وقتی کاربر جدیدی به صورت دستی وارد می کنیم و نقش مشترک یا نقشهای دیگر می دهیم هنگام لاگین به پنل مدیریت هدایت می شود منتهی در پنل مدیریت یکسری گزینه ها به او نشان نمی دهد 

1- آیا در جلسات بعدی آموزش می دهید چگونه یک فرم ایجاد کنیم و بعد کاربران از طریق آن به خود سایت هدایت شوند و نه به پنل مدیریت وردپرس؟

2- منظور از نقش مشترک همان کاربر عادی است؟

3- آیا می توان نقشهای دیگری هم ایجاد کرد؟ 

4-چگونه می توان کاربر با یک نقش ایجاد کرد که مثلا فقط بتواند نوشته ایجاد کند یا فقط به کامنت ها پاسخ دهد یا کار خاصی را انجام دهد؟

با تشکر از لطف شما

فایل پیوست

1
حذف شده

سلام آقا رضا

۱− بله در جلسات آموزشی فرم ثبت نام و لاگین به صورت جدا و کدنویسی شده آموزش داد هست

 

می تونید با اضافه کردن کد زیر بعد از لاگین شدن کاربر اون رو کنترل کنید فقط اگر دقت کنید من دوتا شرط رو گذاشتم که میاد چک می کنه اگر کاربر ادمین باشه (نقش ادمین) به پنل مدیریت وردپرس هدایت میشه و در غیر این صورت به صفحه اصلی می تونید هر کنترلی که دوست دارید اعمال کنید

 

function wpdocs_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();
        }
    }
    return $url;
}
 
add_filter( 'login_redirect', 'wpdocs_my_login_redirect', 10, 3 );

 

۲− بله می تونید از طریق لینک زیر اطلاعات بیشتری در مورد انواع نقش های کاربرها بگیرید

https://wordpress.org/support/article/roles-and-capabilities/#subscriber

 

۳− بله همون لینک بالا رو مطالعه بفرمایید و بعد دستوری در وردپرس هست برای اینکار که لینک توضیحات کامل اون رو هم می زارم

https://developer.wordpress.org/reference/functions/add_role

۴− طبق دستور بالا شما نقش رو ایجاد می کنید و هر جای برنامه نیاز به کنترل داشته باشید می تونید قبل از نمایش مثلا کامنت ها یا هر دسترسی نقش کاربر رو چک کنید و اگر اجازه داشت اون رو نمایش بدید توی یک دستور if

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

$user = wp_get_current_user(); // getting & setting the current user 
$roles = ( array ) $user->roles; // obtaining the role 
فایل پیوست

مجید زادگی

توسط

مجید زادگی

8 آذر 99

حذف شده
سلام با تشکر از پاسخ شما. من هنوز با توابع ورد پرس آشنا نیستم و نحوه استفاده آن را نمی دانم آیا در ادامه جلسات این توابع معرفی و آموزش داده می شوند؟ (من روی جواب شما تحقیق می کنم)
0
حذف شده

سلام

با تشکر از پاسخ شما.

من هنوز با توابع ورد پرس آشنا نیستم و نحوه استفاده آن را نمی دانم آیا در ادامه جلسات این توابع معرفی و آموزش داده می شوند؟   (من روی جواب شما تحقیق می کنم)

فایل پیوست

رضا بیرجندی(محب)

توسط

رضا بیرجندی(محب)

8 آذر 99

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

9 آذر 99