آموزش غیر فعال کردن نوار مدیریت وردپرس برای کاربران
نوار مدیریت وردپرس را همه به خوبی میشناسیم. این نوار در اکثر مواقع میتواند به ما کمک کند تا در زمان خود صرفه جویی کرده و خیلی از عملیات زمانبر را با سرعتی بی نظیر انجام دهیم (مثلا نمایش دکمه ویرایش نوشته/ویرایش برگه در بالای هر نوشته یا برگه و یا خالی کردن کش افزونه های بهینه ساز و … ). اما اگر مشغول راه اندازی وبسایتی باشید که پایه ی کار کردش بر مبنای عضویت کاربران بنا شده باشد، احتمالا این نوار دوست داشتنی نه تنها دیگر دوست داشتنی نخواهد بود، بلکه تبدیل به کابوس زندگیتان هم خواهد شد! چه کار باید کرد اگر مایل باشید این نوار فقط و فقط به مدیران سایت وردپرسی شما نمایش داده شود و هیچ یک از کاربران قادر به دیدن آن نباشند؟ مسترکد امروز دقیقا قرار است همین کار را به شما آموزش دهد. پس با ما همراه باشید.
غیر فعال کردن نوار ادمین برای همه کاربران بجز مدیران در وردپرس
خوب در اینجا میخواهیم با چند خط کد کوتاه کاری کنیم که از این پس، نوار ادمین (admin bar) فقط به مدیران سایت نمایش داده شود. کافی است کد زیر را به فایل functions.php قالب سایت خود و یا اگر قبلا با ما همراه بوده اید، به site-specific پلاگین خود اضافه کنید.
1 2 3 4 5 6 7 | add_action('after_setup_theme', 'remove_admin_bar'); function remove_admin_bar() { if (!current_user_can('administrator') && !is_admin()) { show_admin_bar(false); } } |
خوب، با استفاده از کد بالا، نمایش ادمین بار را برای همه کاربران بجز ادمین ها غیر فعال کردیم.
غیر فعال کردن کامل نوار ادمین در وردپرس
شاید شما بخواهید به طور کامل نوار ادمین را در وردپرس غیر فعال کنید تا دیگر به هیچ کس نشان داده نشود. برای این کار نیاز به کد زیر خواهید داشت :
1 | show_admin_bar(false); |
این نوع کار ها از آن کارهای کوچکی هستند که آدم واقعا دلش نمیخواهد برای انجامشان از پلاگین استفاده کند. همین چند خط کد کوتاه جانمان را نجات داد!
ممنون از انتشار این مطلب
بسیار کاربردی بود
با سلام من میخوام نوار هم برای ادمین فعال باشه و هم برای ادیتور های سایت ادیتور رو چطور باید اضافه کنم ممنونم ازتون
با سلام تشکر
این نوار با اضافه کردن کد برای نویسنده ها و ویرایشگر ها نمایش داده می شود ؟
چون من می خواهم برای اونها نمایش داده شود و فقط کاربران معمولی نوار را نبینند
سلام
فقط برای شخص یا اشخاصی که نقش administrator دارن نشون داده میشه.
خب نمیشه کدش را طوری تغییر داد که فقط کاربران معمولی نبینند؟ بقیه مثل نویسنده ها ببینند؟
اگر کمی PHP بلد باشید کافیه ساختار if رو اندکی تغییر بدید و رول های یوزر های مورد نظرتون رو هم بهش اضافه کنید. این هم از راهنمای رول ها در وردپرس :
http://codex.wordpress.org/Roles_and_Capabilities
/* Disable the WordPress Admin Bar for all but admins. */
if (!current_user_can('administrator')):
if (!current_user_can('Editor ')):
if (!current_user_can('Author')):
show_admin_bar(false); endif;
این کار را کردم ولی جواب نداد چرا؟؟
باز هم برای اون تا گروه نمایش داده نشد
برای کاری که میخواید انجام بدید کدتون اشتباهه
کد مورد نظر باید با گذاشتن or در شرط if نوشته بشه. (کافیه خیلی ساده کدی که در آموزش نوشته شده رو به این صورتی که گفتم پیاده کنید، نیازی نیست کد جدید به فرمی که نوشتید بنویسید)
میشه کدش را درست کنید و بدید؟
من نمی تونم
http://digwp.com/2011/04/admin-bar-tricks/
ممنون از شما با این کد درست شد
دقیقا با کدوم کد تونستی؟ 😐
سلام
ممنون خیلی کاربردی بود