ساخت افزونه وردپرس برای اضافه کردن فیلد جدید به پست
جعبه های متای سفارشی به کاربران اجازه می دهد تا مشخصات دلخواه خودشان را برای پست تعیین کنند ، بعنوان مثال ممکن است در یک سایت آموزشی بخواهید برای هر مطلب نام منبع آن یا کلمات کلیدی آنرا ذخیره کنید. برای این کار می توانید این فیلدها را به صفحه افزودن/ویرایش پست اضافه کنید.
وردپرس اجازه می دهد تا جعبه های مشخصات (meta) برای پست به صفحه افزودن/ویرایش پست اضافه کنیم. از این قابلیت برای ساخت افزونه خودمان استفاده خواهیم کرد. در این نمونه کار ، یک افزونه افزایش سئو برای وردپرس ایجاد کرده و در صفحه افزودن پست یک جعبه دارای یک ورودی ناحیه متنی(textarea) برای دریافت کلمات کلیدی پست اضافه کرده، توابع اقدام و فیلترهای لازم برای ذخیره سازی آن در بانک اطلاعاتی و نمایش آن در پوسته وردپرس را پیاده سازی خواهیم کرد.
مراحل ساخت افزونه
1- ابتدا یک پوشه با نام دلخواه در مسیر wp-content/plugins وردپرس ایجاد کنید. (ما نام پوشه را seo-meta-box گذاشته ایم.)
2- سپس یک فایل همنام با پوشه و با پسوند php در داخل پوشه افزونه ایجاد کنید. (فایل ما باید دارای نام seo-meta-box.php باشد)
3- در ابتدای فایل افزونه محتوای زیر را قرا می دهیم که شامل مشخصات افزونه می باشد:
<?php
/*
Plugin Name: custom-meta-box
Plugin URI: https://codenevisan.com/wp-plugins//
Description:a test for wp plugins .
Version: 1.0
Author:M Mohammadi
Author URI: mohammadi.sm@gmail.com
Text Domain: wp-postviews
*/
4- ایجاد جعبه ی مشخصات
اضافه کردن جعبه متا برای پست
برای ساخت جعبه ی مشخصات از تابع add_meta_box در وردپرس استفاده می کنیم. این تابع فقط برای ثبت و نمایش جعبه های مشخصات استفاده می شود:
بنابراین قطعه کد زیر را باید به انتهای فایل seo-meta-box.php اضافه کنیم:
<?php
function add_seo_meta_box()
{
add_meta_box("seo-meta-box", "ویژگی های سئو", "seo_meta_box_markup", "post", "side", "high", null);
}
add_action("add_meta_boxes", "add_seo_meta_box");
function seo_meta_box_markup($object)
{
}
?>
همانطور که در مثال فوق دیده می شود، تابع add_meta_box باید داخل قلاب add_meta_boxes فراخوانی شود. این تابع دارای هفت پارامتر ورودی است
1- اولین پارامتر شناسه جعبه ی متا است و نباید با اجزای دیگر وردپرس همنام باشد.
2- دومین پارامتر، عنوان جعبه است که فارسی هم می تواند باشد.
3- سومین پارامتر نام تابعی را تعیین می کند که اجرای جعبه را ایجاد می کند.
4- چهارمین پارامتر تعیین می کند که جعبه ی متا در کدام صفحه دیده شود (post: صفحه پست و page: صفحه برگه)
5- پنجمین پارامتر موقعیت نمایش جعبه را نشان می دهد. (side : ستون کناری )
6- ششمین پارامتر اولویت جعبه را تعیین می کند (high : بالا - پس جعبه قبل از دیگر جعبه ها نمایش داده خواهد شد)
7- هفتمین آنها ، لیست پارامترهای ارسالی به تابع ساخت محتوای جعبه را تعیین می کند ( null : پوچ - پرامتر ندارد)
آموزش کامل این مطلب
- ۹۶/۰۳/۲۱