رفتن به مطلب

نشان ندادن ابزارک برای مشترک‌ها (دستور شرطی)


پست های پیشنهاد شده

سلام

آموزش ساخت ابزارک در پیشخوان وردپرس

مطلب مفیدی با امکان شخصی سازی بالاست

بنده از آقای خلجی در مورد این ابزارک سوالی داشتم که فرمودند در انجمن مطرح بشه تا دوستان پاسخ بدهند. بنده سوال رو عینا اینجا کپی می کنم:

«چه کدی می‌بایست در این ابزارک قرار بدهم تا کاربرانی که سطح اونها “مشترک” تعریف شده این ابزارک رو نبینند و برعکس( یعنی تنها مشترک‌ها ببینند )»

لینک به ارسال

این رو تست کنید


if(current_user_can('read' )){
//کد شما
}

http://codex.wordpress.org/Function_Reference/current_user_can

لینک به ارسال

کد رو به چه صورتی استفاده کردید ؟

همونطور که مرتضی عزیز فرموده بودند

به ابتدای کد که در فانکشن موجود بود اضافه شد

لینک به ارسال

یک سوال احتمالا خیلی سطح پایین:

توی کد ها فقط امکان اجازه یا عدم اجازه عمل خاص رو میشه تعیین کرد (مثلا: یوزر_فعلی_بتواند: بخواند یا بنویسید یا پست را ویرایش کند و ....)

حالا این یوزر چه کسی است؟ یوزر فعلی میتواند مدیر باشد یا مشترک. این سطح یوزر رو کجا باید تعریف کنیم؟

چون میخواهم چند ابزارک در پیشخوان تعریف کنیم که آنها را فقط مشترک ها ببینند نه اعضای فنی و نویسنده ها

و یک ابزارک داریم که به قولی برد اخبار داخلی است. میخواهیم فقط اعضای فنی و نویسنده ها ببینند نه مشترکان عادی

لینک به ارسال

خوب این مورد دومی که گفتید کلا مسئله فرق کرد

شما باید role کاربر جاری رو بگیرید و بعد در شرطی بزارید که اگر فقط این کاربر این دسترسی رو داشت بتونه ببینه

لینک به ارسال

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

شبه ای که پیش اومد اینکه منظور شما از کاربر جاری چیه؟ هر یوزر خاص رو باید جداگانه تعریف کنیم یا کافیه برای هر "سطح" یکبار تعریف کنیم؟

------------------------

برای شفاف شدن اگر ممکنه مثال بزنید و کدی رو با این خصوصیات ذکر کنید

باز هم ممنون

لینک به ارسال

این رو تست کنید:

$user = wp_get_current_user();

if ( in_array( 'administrator', $user->roles ) ) {
// .. نمایش کد برای نقش مدیر
}

لینک به ارسال

بله کار کرد

و از این بابت بسیار ممنونیم!

دوتا ریزه کاری:

1. الان کد ایجابی است یعنی اگر ادمین بود بتواند ببیند، من کدی میخواهم که سلبی باشد یعنی همه بتوانند بغیر از مشترک ها

2. آیا میشود کد را اینطور نوشت؟:


$user = wp_get_current_user();
if ( in_array( 'administrator,writer', $user->roles ) ) {
// .. نمایش کد برای نقش مدیر
}

و اینکه چون وردپرس فارسی شده من نمیدونم انگلیسی هر سطح دقیقا چی میشه مثلا مدیر : Administrator نویسنده: writer مشارکت کننده: ؟؟؟ مشترک: ؟؟؟

امیدوارم اینبار تونسته باشم مفهوم رو برسونم.از پشتیبانی صمیمانتون ممنونیم

لینک به ارسال

تست کنید:

if ( in_array( 'administrator', $user->roles )  || in_array( 'subscriber', $user->roles ) ) {
// .. نمایش کد برای نقش مدیر
}

2. آیا میشود کد را اینطور نوشت؟:

"subscriber" >مشترک

"administrator" >مدیر

"editor" >ویرایشگر

"author" >نویسنده

"contributor" >مشارکت‌کننده

لینک به ارسال
  • 1 ماه بعد...

با تشکر از همگی این مطلب ادامه پست پیغام‌های مدیریت است

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

http://wordpress.org/plugins/admin-dashboard-site-notes

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...