افزونه وردپرس

تابلو اعلانات Info Board

افزونهٔ وردپرس برای مدیریت و نمایش اطلاعیه‌ها و اعلانات در محیط‌های سازمانی، فروشگاهی یا تیمی — با دسته‌بندی دپارتمانی، کنترل بر اساس نقش کاربر، انقضای زمانی، نمایش در پیشخوان، صفحهٔ ورود و شورتکد در سایت.

نسخه ۱.۰.۰ شناسه متن: info-board نویسنده: علیرضا امین‌زاده — ariacoder.ir

توسعه‌دهنده

هزینه استفاده

رایگان

منشأ و بومی‌سازی

کاملاً ایرانی

زبان رابط و مستندات

فارسی (RTL)

ویژگی‌ها

خلاصهٔ امکانات در قالب کارت‌های قابل اسکن:

محتوانوع پست سفارشی با عنوان، ویرایشگر، چکیده، تصویر شاخص؛ پشتیبانی بلوک و REST API.
دسته‌بندیتاکسونومی سلسله‌مراتبی دپارتمان‌ها با ستون در لیست پست‌ها.
زمان‌بندیتاریخ و زمان انقضا؛ پس از انقضا در تابلو، ورود، ابزارک و اعلان ادمین نمایش داده نمی‌شود.
اولویتسنجاق اطلاعیه — نمایش در بالا، استایل متمایز و برچسب «مهم» در شورتکد.
دسترسیمحدودسازی مخاطب بر اساس نقش‌های وردپرس؛ مدیر کل همه را می‌بیند.
نمایش در سایتشورتکد با فیلتر دپارتمان و محدودیت تعداد؛ گرید ۱ تا ۴ ستون از طریق گزینه دیتابیس.
ورودتصویر سفارشی، رنگ‌ها، اسلایدر Swiper یا پیام تکی، تیکر زیرنویس در پایین صفحه.
پیشخوانابزارک «تابلو اعلانات» برای اطلاعیه‌های دارای «نمایش در داشبورد».
مدیریتاعلان‌های استاندارد وردپرس در تمام صفحات ادمین برای اطلاعیه‌های انتخاب‌شده.

پیش‌نیازها

  • وردپرس نسبتاً به‌روز (توصیه: ۵.۸+ به‌خاطر بلوک و datetime-local در ادمین)
  • PHP سازگار با نسخهٔ موردنیاز هستهٔ وردپرس شما
  • برای اسلایدر صفحهٔ ورود: دسترسی به اینترنت برای بارگذاری Swiper از CDN (unpkg.com) — در محیط آفلاین باید فایل‌ها محلی enqueue شوند

نصب

  1. پوشهٔ info-board را در مسیر wp-content/plugins/ کپی کنید.
  2. از منوی افزونه‌ها در پیشخوان، افزونه را فعال کنید.
  3. پس از فعال‌سازی، منوی «تابلو اعلانات» در پیشخوان ظاهر می‌شود.

شروع سریع

  1. از منوی تابلو اعلانات → افزودن جدید یک اطلاعیه بسازید و منتشر کنید.
  2. در متا باکس «تنظیمات اطلاعیه»، در صورت نیاز انقضا، سنجاق، نقش‌ها و محل‌های نمایش را تنظیم کنید.
  3. برای نمایش در سایت، در برگه یا نوشته شورتکد زیر را قرار دهید:
[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-1grid-4.

update_option( 'info_board_dashboard_layout', 'grid-2' );

صفحهٔ تنظیمات افزونه

مسیر: تابلو اعلانات → تنظیمات (نیازمند manage_options).

پیش‌نمایش بصری تب‌ها — شبیه رابط پیشخوان وردپرس:

معرفی کوتاه و تعداد اطلاعیه‌های منتشرشده در این تب نمایش داده می‌شود.

فعال
  • تصویر بالای فرم ورود (جایگزین لوگو در صورت تنظیم)
  • رنگ پس‌زمینه صفحه و فرم (Color Picker)
  • فعال/غیرفعال بلوک اعلان بالای فرم
  • حالت اسلایدر: اطلاعیه‌های دارای «نمایش در صفحه ورود» با Swiper
  • حالت تکی: یک پیام ثابت با ویرایشگر کوچک
#f0f0f1 — انتخاب رنگ

نوار متحرک در پایین صفحهٔ ورود؛ متن با جداکننده |؛ سرعت انیمیشن (ثانیه).

خبر اول | خبر دوم | خبر سوم

صفحهٔ ورود وردپرس

  • استایل‌های سفارشی (فونت، دکمه، فرم، 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 در کد پیاده‌سازی نشده است.