افزودن گزینه های سفارشی به افزونه PTU وردپرس – راهنمای کامل
مقدمه
اگر تا به حال با افزونه PTU (Post Type UI) کار کرده اید، می دانید که این ابزار قدرتمند به شما امکان می دهد تا انواع محتوای سفارشی (Custom Post Types) و دسته بندی های دلخواه (Custom Taxonomies) را به سرعت به وب سایت وردپرس خود اضافه کنید. اما در بسیاری از پروژه ها نیاز به تنظیمات بیشتری وجود دارد؛ گزینه های سفارشی (Custom Options) می توانند به شما کمک کنند تا فیلدهای خاص، رفتارهای متفاوت یا تنظیمات مدیریتی اختصاصی برای نوع پست های خود تعریف کنید.
در این مقاله، به صورت گام به‑گام و با زبانی ساده و واضح، نحوه افزودن گزینه های سفارشی به افزونه PTU را بررسی می کنیم. از ایجاد یک فیلد جدید در بخش تنظیمات تا پیاده سازی کدهای کوتاه (shortcode) یا هوک های (hooks) مورد نیاز، تمام مراحل به دقت شرح داده شده اند تا حتی کسانی که تجربهٔ عمیقی از توسعهٔ وردپرس ندارند، بتوانند به راحتی این قابلیت را به پروژهٔ خود اضافه کنند.
هدف ما این است که با ارائهٔ راهنمایی های فنی دقیق اما در عین حال دوستانه و قابل دسترس، شما را در مسیر شخصی سازی افزونه PTU یاری کنیم. پس اگر آماده اید تا کنترل بیشتری بر روی انواع پست های خود داشته باشید و وب سایت تان را به سطح بالاتری برسانید، همراه ما باشید!
فهرست مطالب
- پیکربندی پایه ای افزونه PTU برای افزودن گزینه های سفارشی
- ایجاد فیلدهای سفارشی با استفاده از کدهای کوتاه در PTU
- بهینه سازی عملکرد گزینه های جدید برای سازگاری با قالب های وردپرس
- راهنمای تست و رفع خطاهای رایج پس از افزودن گزینه های سفارشی

پیکربندی پایه ای افزونه PTU برای افزودن گزینه های سفارشی
برای شروع کار با PTU ابتدا به بخش تنظیمات → PTU در پیشخوان وردپرس بروید. در تب گزینه های سفارشی دکمه افزودن فیلد جدید را کلیک کنید تا یک ردیف خالی برای تعریف ویژگی دلخواهتان ظاهر شود. در اینجا می توانید نام فیلد (به صورت slug)، برچسب نمایشی، نوع ورودی (متن، انتخاب، چک باکس یا تاریخ) و مقدار پیش فرض را مشخص کنید. برای هر فیلد می توانید ویژگی های زیر را تنظیم کنید:
- قابل نمایش در فرم: تعیین می کند آیا فیلد برای کاربران نهایی قابل مشاهده باشد یا نه.
- الزامی بودن: اگر گزینه Required فعال باشد، کاربر مجبور به پر کردن آن می شود.
- قالب بندی CSS: می توانید کلاس یا شناسه CSS دلخواه خود را اضافه کنید تا ظاهر فیلد با تم سایت هماهنگ شود.
پس از تکمیل فیلدها، با زدن دکمه ذخیره تنظیمات تغییرات اعمال می شود. برای بررسی صحیح عملکرد، یک صفحه یا پست جدید ایجاد کرده و شورت کد [ptu_form] را در محتوا بگذارید. در جدول زیر انواع گزینه های سفارشی که PTU پشتیبانی می کند و نکات کلیدی مربوط به هر کدام آورده شده است:
| نوع گزینه | مثال استفاده | نکته مهم |
|---|---|---|
| متن (text) | نام کاربری | حداکثر طول را در تنظیمات تعیین کنید. |
| انتخاب (select) | کشورهای مسافرتی | مقدار پیش فرض را با یک گزینه «انتخاب کنید» شروع کنید. |
| چک باکس (checkbox) | توافق با قوانین | برای گزینه های ضروری همیشه Required را فعال کنید. |
| تاریخ (date) | تاریخ تولد | قالب تاریخ را مطابق با تنظیمات سایت تنظیم کنید. |

ایجاد فیلدهای سفارشی با استفاده از کدهای کوتاه در PTU
برای افزودن فیلدهای سفارشی به فرم های PTU کافی است از کدهای کوتاه (shortcodes) استفاده کنید. ابتدا در بخش پیکربندی → کدهای کوتاه یک شورتکد جدید تعریف کنید و سپس پارامترهای مورد نیاز مانند name، type و default را به آن اختصاص دهید. در ادامه یک نمونه ساده از شورتکد برای یک فیلد متنی آورده شده است:
[ptu_custom_field name="phone" type="text" label="شماره تماس" placeholder="مثال: 09121234567"][ptu_custom_field name="agree" type="checkbox" label="قوانین را می پذیرم" default="checked"]- برای فیلدهای پیشرفته می توانید از type=”select” یا type=”radio” به همراه آرایه ای از گزینه ها استفاده کنید.
پس از افزودن شورتکدها، می توانید آن ها را در هر برگه یا نوشته ای که می خواهید قرار دهید و PTU به صورت خودکار فیلدهای سفارشی را رندر می کند. برای بررسی نتایج، فرم را در مرورگر باز کنید و مقداردهی های پیش فرض و رفتارهای تعاملی را تست کنید. در جدول زیر مهم ترین ویژگی های شورتکدها به همراه توضیح مختصرشان آورده شده است:
| ویژگی | شرح | مقدار پیش فرض |
|---|---|---|
| name | کلید شناسایی فیلد (بدون فاصله) | – |
| type | نوع فیلد (text, textarea, select, checkbox, radio) | text |
| label | متن برچسب نمایش داده شده برای فیلد | – |
| default | مقدار اولیه فیلد (در صورت نیاز) | خالی |
| placeholder | متن راهنما برای فیلدهای متنی | – |

بهینه سازی عملکرد گزینه های جدید برای سازگاری با قالب های وردپرس
برای اطمینان از اینکه گزینه های سفارشی جدید در افزونه PTU به صورت بهینه با قالب های مختلف وردپرس کار می کنند، ابتدا باید فرآیند بارگذاری آنها را به صورت «تنها در زمان نیاز» (lazy‑load) تنظیم کنید. این کار می تواند با استفاده از هوک admin_init یا wp_enqueue_scripts انجام شود تا اسکریپت ها و استایل ها فقط زمانی که کاربر به صفحه تنظیمات می رسد لود شوند. علاوه بر این، به کارگیری کَش گذاری محلی (transient API) برای ذخیره مقادیر پیش فرض و جلوگیری از اجرای مکرر کوئری های دیتابیس، بار سرور را به طور چشم گیری کاهش می دهد. نکات کلیدی بهینه سازی عبارتند از:
- استفاده از فیلترهای شرطی برای بارگذاری فقط گزینه های فعال در قالب جاری.
- اجتناب از توابع پیچیده در حلقه های تکراری؛ به جای آن از
wp_cache_get()وwp_cache_set()بهره بگیرید. - فشرده سازی خروجی JSON هنگام ذخیره سازی مقادیر سفارشی با
wp_json_encode()و حذف فضاهای خالی. - به کارگیری AJAX برای به روزرسانی زنده تنظیمات بدون رفرش صفحه و کاهش ترافیک HTTP.
بعد از اعمال بهینه سازی های فنی، مرحله تست سازگاری با قالب ها می آید. برای هر دسته از قالب ها (مثلاً قالب های تک ستونی، چندستونی یا فریم ورکی) تنظیمات پیشنهادی متفاوت است؛ جدول زیر خلاصه ای از این تنظیمات را نشان می دهد. با مقایسه مقادیر پیش فرض با نیازهای قالب، می توانید قابلیت پاسخگویی گزینه های سفارشی را به صورت خودکار تنظیم کنید.
| نوع قالب | تنظیم پیش فرض PTU | توصیه برای بهینه سازی |
|---|---|---|
| تک ستونی | نمایش تمام فیلدها در یک ردیف | غیرفعال کردن گزینه های جانبی |
| چندستونی | استفاده از گرید ۲۴ ستون | فعال سازی گزینه های کشو برای فیلدهای کمتر مهم |
| فریم ورکی (Bootstrap) | کلاس های پیش فرض وردپرس | جایگزینی با کلاس های col-* فریم ورک برای هماهنگی بهتر |

راهنمای تست و رفع خطاهای رایج پس از افزودن گزینه های سفارشی
پس از افزودن گزینه های سفارشی به افزونه PTU، اولین گام برای اطمینان از عملکرد صحیح، اجرای تست های پایه ای است. برای این کار می توانید فیلدهای جدید را در فرم های مختلف ایجاد کنید و بررسی کنید که مقادیر وارد شده به درستی در دیتابیس ذخیره می شوند یا خیر. در طول این فرآیند، معمولاً با یک سری خطاهای رایج مواجه می شوید؛ برای شناسایی سریع آن ها می توانید از لیست زیر استفاده کنید:
- عدم ذخیره مقدار – معمولاً به دلیل عدم تعریف صحیح
sanitize_callbackیا اشتباه در نام متا رخ می دهد. - تداخل با افزونه های دیگر – خصوصاً افزونه های کش یا امنیتی که ممکن است ورودی ها را قبل از ذخیره سازی مسدود کنند.
- خطای AJAX – وقتی درخواست های ناهمزمان (AJAX) برای بروزرسانی گزینه ها به درستی پیکربندی نشده باشند.
- نمایش نادرست در پیش نمایش – به دلیل عدم فراخوانی صحیح توابع رندرینگ در قالب.
برای رفع این مشکلات، ابتدا WP_DEBUG را در wp-config.php فعال کنید تا پیام های خطا به صورت واضح تری نمایش داده شوند. سپس می توانید از ابزارهای مرورگر (مانند کنسول JavaScript) برای بررسی خطاهای AJAX بهره بگیرید. در جدول زیر، رایج ترین خطاها به همراه راه حل های پیشنهادی خلاصه شده اند:
| خطا | دلیل احتمالی | راه حل پیشنهادی |
|---|---|---|
| Option not saved | نام متا نادرست یا عدم استفاده از update_post_meta | بررسی نام کلید، استفاده از sanitize_text_field و اطمینان از فراخوانی save_post |
| AJAX 404 | آدرس admin‑ajax.php اشتباه یا عدم ثبت اکشن | ثبت add_action('wp_ajax_my_action', 'my_callback') و بررسی مسیرهای URL |
| Conflict with caching plugin | کش سرور یا مرورگر مانع ذخیره سازی می شود | غیرفعال سازی موقت کش یا افزودن استثنا برای URLهای PTU در تنظیمات کش |
در پایان، با پیروی از گام‑به‑گام های این مقاله می توانید به راحتی گزینه های سفارشی مورد نیاز خود را به افزونه PTU اضافه کنید و عملکرد سایت وردپرسی تان را به سطح بالاتری ارتقا دهید. به یاد داشته باشید که هر تغییر را در یک محیط تست انجام دهید، تنظیمات جدید را ذخیره کنید و پس از اطمینان از صحت عملکرد، آن را روی سایت اصلی اعمال کنید. اگر در طول کار با مشکلی مواجه شدید، مستندات رسمی PTU و انجمن پشتیبانی وردپرس می توانند منابع ارزشمندی برای یافتن راه حل باشند.
امیدواریم این راهنما برای شما مفید واقع شده باشد و بتوانید با اطمینان بیشتری به شخصی سازی افزونه پرداخته و تجربه کاربری بهتری برای بازدیدکنندگان فراهم کنید. برای دریافت مطالب بیشتر درباره تنظیمات پیشرفته، به بخش مقالات مرتبط در وب سایت ما سر بزنید و اگر سؤال یا پیشنهاد خاصی دارید، خوشحال می شویم در نظرات یا ایمیل خود با ما در میان بگذارید. موفق باشید!
