تابلو اعلانات Info Board
افزونهٔ وردپرس برای مدیریت و نمایش اطلاعیهها و اعلانات در محیطهای سازمانی، فروشگاهی یا تیمی — با دستهبندی دپارتمانی، کنترل بر اساس نقش کاربر، انقضای زمانی، نمایش در پیشخوان، صفحهٔ ورود و شورتکد در سایت.
توسعهدهنده
هزینه استفاده
منشأ و بومیسازی
زبان رابط و مستندات
ویژگیها
خلاصهٔ امکانات در قالب کارتهای قابل اسکن:
پیشنیازها
- وردپرس نسبتاً بهروز (توصیه: ۵.۸+ بهخاطر بلوک و
datetime-localدر ادمین) - PHP سازگار با نسخهٔ موردنیاز هستهٔ وردپرس شما
- برای اسلایدر صفحهٔ ورود: دسترسی به اینترنت برای بارگذاری Swiper از CDN (unpkg.com) — در محیط آفلاین باید فایلها محلی enqueue شوند
نصب
- پوشهٔ
info-boardرا در مسیرwp-content/plugins/کپی کنید. - از منوی افزونهها در پیشخوان، افزونه را فعال کنید.
- پس از فعالسازی، منوی «تابلو اعلانات» در پیشخوان ظاهر میشود.
شروع سریع
- از منوی تابلو اعلانات → افزودن جدید یک اطلاعیه بسازید و منتشر کنید.
- در متا باکس «تنظیمات اطلاعیه»، در صورت نیاز انقضا، سنجاق، نقشها و محلهای نمایش را تنظیم کنید.
- برای نمایش در سایت، در برگه یا نوشته شورتکد زیر را قرار دهید:
[info_board]
برای ظاهر صفحهٔ ورود به تابلو اعلانات → تنظیمات بروید.
نوع محتوای «اطلاعیه» و دپارتمانها
- اسلاگ نوع پست:
info_board - آرشیو: عمومی و قابل جستجو (
has_archive) - فیلدهای اصلی: عنوان، محتوا/خلاصه، چکیده، تصویر شاخص
- دپارتمان: تاکسونومی
info_board_category(سلسلهمراتبی)
تنظیمات هر اطلاعیه (متا باکس)
| گزینه | توضیح |
|---|---|
| تاریخ و زمان انقضا | اگر پر شود، پس از آن لحظه در خروجیهای افزونه فیلتر میشود. خالی = بدون انقضای خودکار بر اساس این فیلد. |
| سنجاق | اولویت بالاتر در لیست شورتکد و ابزارک داشبورد. |
| نمایش در صفحه ورود | در حالت اسلایدر تنظیمات ورود، در اسلایدر قرار میگیرد. |
| نمایش در ابزارک پیشخوان | در ویجت «تابلو اعلانات» داشبورد ادمین. |
| نمایش به عنوان اعلان در مدیریت | نوار اعلان وردپرس در همهٔ صفحات ادمین؛ نوع: اطلاعات / موفقیت / هشدار / خطا. |
| سطوح دسترسی (نقشها) | بدون انتخاب نقش در شورتکد سایت حتی مهمان میبیند. با نقش = فقط کاربران واردشده با آن نقشها و مدیر کل. |
شورتکد [info_board]
پارامترها
| پارامتر | پیشفرض | توضیح |
|---|---|---|
department | خالی | اسلاگ دپارتمان (info_board_category) برای فیلتر |
limit | -1 | تعداد پست؛ -1 یعنی بدون محدودیت عملی در کوئری |
مثالها
[info_board] [info_board department="منابع-انسانی" limit="6"]
چیدمان گرید
کلاس ظرف از گزینهٔ info_board_dashboard_layout خوانده میشود (پیشفرض: grid-1). مقادیر: grid-1 … grid-4.
update_option( 'info_board_dashboard_layout', 'grid-2' );
صفحهٔ تنظیمات افزونه
مسیر: تابلو اعلانات → تنظیمات (نیازمند manage_options).
پیشنمایش بصری تبها — شبیه رابط پیشخوان وردپرس:
معرفی کوتاه و تعداد اطلاعیههای منتشرشده در این تب نمایش داده میشود.
- تصویر بالای فرم ورود (جایگزین لوگو در صورت تنظیم)
- رنگ پسزمینه صفحه و فرم (Color Picker)
- فعال/غیرفعال بلوک اعلان بالای فرم
- حالت اسلایدر: اطلاعیههای دارای «نمایش در صفحه ورود» با Swiper
- حالت تکی: یک پیام ثابت با ویرایشگر کوچک
نوار متحرک در پایین صفحهٔ ورود؛ متن با جداکننده |؛ سرعت انیمیشن (ثانیه).
صفحهٔ ورود وردپرس
- استایلهای سفارشی (فونت، دکمه، فرم، RTL برای ticker)
- اسلایدر فقط وقتی در تنظیمات فعال و نوع «اسلایدر» باشد؛ کوئری بر اساس متا
_info_board_show_on_loginو انقضا - کلاس بدنه
info-board-layout-*از گزینهٔinfo_board_login_layout(پیشفرضcenter) — برای چیدمان split در کد آماده است
پیشخوان و اعلانها (Notice)
ابزارک داشبورد: فقط پستهای منتشرشده با _info_board_show_on_dashboard با رعایت انقضا و نقش.
admin_notices: عنوان + چکیده با کلاس متناسب نوع.
منطق دسترسی بر اساس نقش
| محل | رفتار |
|---|---|
| شورتکد (سایت) | بدون محدودیت نقش = همه شامل مهمان. با نقش = فقط کاربران واردشده با نقش مشترک؛ مدیر کل همیشه میبیند. |
| ابزارک داشبورد و اعلان ادمین | همان منطق؛ کاربر باید وارد ادمین باشد؛ مدیر کل بدون محدودیت نقش پست. |
ظاهر تابلو در سایت (CSS)
فایل: public/css/info-board-public.css — گرید واکنشگرا، کارت با سایه، hover، استایل سنجاقشده و برچسب «مهم»، rtl برای ظرف اصلی. استایلها در wp_enqueue_scripts بهصورت سراسری بارگذاری میشوند.
ساختار فایلهای افزونه
info-board/ ├── info-board.php # نقطه ورود ├── includes/ │ ├── class-info-board.php │ ├── class-info-board-loader.php │ ├── class-info-board-cpt.php │ ├── class-info-board-meta.php │ ├── class-info-board-shortcode.php │ ├── class-info-board-admin-settings.php │ ├── class-info-board-login.php │ └── class-info-board-admin-display.php └── public/css/info-board-public.css
پوشهٔ languages در هدر افزونه اعلام شده؛ با افزودن فایلهای .mo ترجمهها بارگذاری میشوند.
ترجمه و بومیسازی
دامنهٔ متن: info-board — رشتهها با __، _e، _x و غیره علامتگذاری شدهاند.
یادداشت فنی
- امنیت متا: nonce و
current_user_can( 'edit_post', $post_id ) - خروجی: escape مناسب (
esc_attr،esc_url،esc_html،wp_kses_post) - انقضا: مقایسه با
current_time( 'Y-m-d\TH:i' )هماهنگ باdatetime-local - در نسخهٔ ۱.۰.۰ ثبت تأیید مطالعهٔ per-user در کد پیادهسازی نشده است.