وردپرس برای اعلام وضعیت از notice استفاده می کند. در این مطلب درباره روش ایجاد یک اعلان داشبورد وردپرس صحبت می کنیم.
اعلان داشبورد وردپرس در واقع همان پیام های با رنگ سبز، زرد، آبی و قرمز در بالای صفحات است. این قابلیت هنگام بروزرسانی صفحه، نمایش خطا و موارد مشابه توسط وردپرس استفاده می شود. اما ما به عنوان مدیر یک سایت وردپرسی نیز امکان استفاده از آن را داریم. موارد مصرف زیادی برای ایجاد notice وردپرس وجود دارد. برای مثال امکان اعلان زمان بروزرسانی سایت در این بخش وجود دارد. با این اعلان مدیران و نویسندگان وب سایت از زمان در دسترس نبودن سایت با خبر می شوند. یا برای مثال امکان نمایش توضیحات آموزشی برای کارفرما در بخش مورد نظر نیز جزو کاربرد های دیگر اعلان داشبورد وردپرس است. در ادامه روش ایجاد یک notice با استفاده از چند خط کد ساده را یاد می گیریم.
ایجاد اعلان داشبورد وردپرس
برای تعریف اعلان داشبورد وردپرس باید از فایل functions.php قالب وردپرس خود کمک بگیریم. با افزودن کد زیر به این فایل یک اعلان با متن دلخواه به تمام صفحات داشبورد وردپرس اضافه می شود. از طرف دیگر این اعلان برای تمام مدیران وب سایت قابل مشاهده است:
function tc_admin_notice()
{
echo '
<div class="notice notice-error">
<p>تیم توسی! پنج شنبه قراره <strong>سرور رو جابجا</strong> کنیم. لطفا توی این روز هیچ بروزرسانی روسی سایت انجام ندین. اگر سوال داری <a href="#">اینجا</a> ازم بپرس!</p>
</div>
';
}
add_action('admin_notices', 'tc_admin_notice');
در کد بالا تابع tc_admin_notice را به اکشن admin_notices وردپرس متصل کردیم. در داخل تابع نیز به سادگی متن مورد نظر خود را درون یک div و پاراگراف می نویسیم. با بروزرسانی داشبورد وردپرس، یک خطا با رنگ زرد، متن دلخواه و دکمه حذف ایجاد می شود. به صورت کلی برای استفاده از اعلان داشبورد وردپرس ۵ کلاس مختلف قابل انتخاب است:
- کلاس notice-error: این کلاس از رنگ قرمز برای حاشیه استفاده می کند. از این کلاس بیشتر برای نمایش خطا های مهم و مشکل ساز استفاده می شود.
- کلاس notice-warning: این کلاس از رنگ زرد برای حاشیه استفاده می کند. از این کلاس برای نمایش هشدار به کاربر استفاده می شود.
- کلاس notice-success: این کلاس از رنگ سبز برای نمایش حاشیه اعلان داشبورد وردپرس استفاده می کند. طبیعتا از این مورد برای اعلان های موفقیت آمیز استفاده می شود.
- کلاس notice-info: این کلاس از رنگ آبی برای نمایش حاشیه استفاده می کند. استفاده از این مورد برای اعلام یک خبر، بدون تاثیر روی عملکرد فعلی استفاده می شود. به زبان ساده تر بیشتر جنبه نمایش اطلاعات را دارد.
- کلاس is-dismissible: استفاده از این کلاس اختیاری است. با افزودن آن، وردپرس به صورت خودکار یک دکمه ضربدر برای حذف notice ایجاد می کند.
بسته به شرایط مورد نظر، امکان انتخاب بین ۴ کلاس اصلی را داریم. انتخاب رنگ مناسب تاثیر زیادی بر روی تجربه کاربر دارد. لذا در انتخاب آن دقت کنید. گزینه آخر نیز برای ایجاد قابلیت بستن استفاده می شود. البته به دلیل اجرای دوباره کد در هنگام بروزرسانی صفحه، پیام notice دوباره نمایش داده می شود. برای حل این مشکل باید عملیات کاربر را در دیتابیس ذخیره کنیم. به دلیل پیچیدگی توضیحات، روش انجام این کار را در ویدیو توضیح می دهیم.
شخصی سازی notice وردپرس
تا اینجا با روش ایجاد یک اعلان داشبورد وردپرس آشنا شدیم. این اعلان در تمام بخش های داشبورد و برای تمام کاربران قالب دیدن است. اما امکان شخصی سازی بیشتر این پیام نیز وجود دارد. برای مثال میتوان نمایش اعلان داشبورد وردپرس را تنها در بعضی صفحات فعال کرد. یا برای مثال دیگر پیام را برای کاربرانی با نقش خاص، مانند نویسنده، نمایش داد. برای شخصی سازی صفحه و کاربران باید از کد زیر استفاده کنیم:
function tc_admin_notice()
{
global $pagenow;
$pages = ['index.php'];
$user = wp_get_current_user();
if (in_array($pagenow, $pages) && in_array('administrator', $user->roles)) {
echo 'سلام مدیر توی صفحه اصلی خوبی؟!';
}
}
add_action('admin_notices', 'tc_admin_notice');
در این کد ابتدا صفحه فعال کاربر را دریافت می کنیم. سپس با مقایسه آن با لیست مورد نظر خود، یعنی آرایه pages، صفحه فعال کاربر را بررسی می کنیم. در قسمت بعدی نقش کاربر را بررسی می کنیم. در مثال بالا مدیران اصلی را هدف قرار دادیم. به همین سادگی امکان شخصی سازی بر اساس صفحات و نقش کاربر نیز وجود دارد.
عالی و کاربردی👌👌
ممنون 💚