نحوه افزودن زمینه های اضافی به آپلود کننده رسانه وردپرس

هنگام کار بر روی پروژه ای که در آن ما یک گالری بسیار جالب ایجاد کردیم که کاملاً توسط پیوست های وردپرس و یک نوع پست سفارشی ساخته شده است ، نیاز به افزودن زمینه های اضافی به وردپرس پیدا کردیم بارگذار رسانه این قسمتهای اضافی به ما امکان می دهد با افزودن نام عکاس و URL آنها در هر صفحه تصویر ، به هر عکاس اعتبار بدهیم. وردپرس تصاویر را به عنوان پست در نوع پست پیوست ذخیره می کند ، بنابراین افزودن داده های متا دقیقاً مانند افزودن فیلدهای سفارشی است. از آنجا که پیوست های وردپرس فاقد رابط کاربر زمینه های سفارشی هستند ، برای جمع آوری داده های متا باید زمینه های سفارشی را به بارگذار رسانه اضافه کنیم. در این مقاله ، ما به شما نحوه افزودن زمینه های اضافی به آپلود کننده رسانه وردپرس را نشان خواهیم داد.

برای ایجاد تغییر از فیلترهای زیر استفاده خواهیم کرد: ضمیمه_محیط ها_برای_ ویرایش و پیوندهای_مصرف_ برای_ ذخیره #//>

برای پروژه ای مانند این ، ما بسیار توصیه می کنیم که یک افزونه اختصاصی سایت و کد زیر را اضافه کنید. با این حال ، همچنان می توانید کدها را در پرونده Theme.php طرح زمینه خود اضافه کنید تا کار کند.

/ **
 * نام عکاس و زمینه های URL را به آپلود کننده رسانه اضافه کنید
 *
 *param آرایه $ form_fields ، فیلدهایی که باید در فرم پیوست قرار گیرند
 *param $ post object ، ضبط پیوست در پایگاه داده
 * @ form $ $ Fields ، زمینه های فرم اصلاح شده
 * /
 
تابع be_attachment_field_credit ($ form_fields، $ post) {
$ form_fields ['be-photographer-name'] = آرایه (
'label' => 'نام عکاس' ،
'input' => 'متن' ،
'value' => get_post_meta ($ post-> ID ، 'be_photographer_name' ، درست است) ،
'help' => 'در صورت ارائه ، اعتبار عکس نمایش داده می شود'،
)

$ form_fields ['be-photographer-url'] = آرایه (
'label' => 'URL عکاس' ،
'input' => 'متن' ،
'value' => get_post_meta ($ post-> ID ، 'be_photographer_url' ، true) ،
'help' => 'URL عکاس را اضافه کنید' ،
)

بازگشت $ form_fields؛
}

افزودن_فیلتر ('زمینه های_پیوست_به_ ویرایش' ، 'اعتبار_حوزه_پیوست_شده' ، 10 ، 2)؛

/ **
 * مقادیر نام و URL عکاس را در آپلود کننده رسانه ذخیره کنید
 *
 *param $ post array ، داده های ارسال شده برای پایگاه داده
 * آرایه پیوستparam $ ، قسمتهای پیوست از فرم $ _POST
 * @ بازگشت $ آرایه پست ، داده های پست اصلاح شده
 * /

عملکرد be_attachment_field_credit_save ($ ارسال ، $ پیوست) {
if (Isset ($ attachment ['be-photographer-name'])))
update_post_meta ($ post ['ID']، 'be_photographer_name'، $ attachment ['be-photographer-name'])؛

if (Isset ($ attachment ['be-photographer-url'])))
update_post_meta ($ post ['ID']، 'be_photographer_url'، esc_url ($ attachment ['be-photographer-url']))؛

بازگشت $ post؛
}

افزودن_فیلتر ('فیلد_پیوست_ برای_ ذخیره' ، 'ذخیره_ اعتبار_پیوست_فضل' ، 10 ، 2)؛
؟>

کد بالا دو فیلد متنی به Uploader Media به نام Photographer Name و Photographer URL اضافه می کند. این را می توانید در تصویر زیر مشاهده کنید:

Additional Fields in the Media Uploader

توضیح کد: در اولین تابع ، ما به راحتی از یک آرایه برای تعیین برچسب ، نوع ورودی ، مقدار و متن راهنما استفاده می کنیم. تابع دوم بررسی این است که آیا مقداری برای آن قسمت ها تنظیم شده است یا خیر. اگر مقدار تعیین شود ، فراداده پست به روز می شود.

اگر می خواهید فیلدها را در الگوی پیوست های خود نمایش دهید ، به سادگی کدهای زیر را در داخل حلقه جای گذاری کنید:

 echo get_post_meta ($ post-> ID، 'be_photographer_url'، true)؛ 

اگر می خواهید قسمتهای مربوط به تصویر برجسته خود را در الگوی بایگانی یا الگوی دیگر خود نمایش دهید ، به سادگی از موارد زیر استفاده کنید:

 echo get_post_meta (get_post_thumbnail_id ()، 'be_photographer_url'، true)؛ 

امیدواریم از این مقاله لذت برده باشید. برای کسانی که نمی دانند چگونه الگوی پیوست را ایجاد کنند ، نگران نباشید. در مقاله بعدی ، نحوه ایجاد الگوی پیوست در وردپرس را بیان خواهیم کرد.

نکته کلاه به بیل اریکسون برای نشان دادن نحوه انجام این کار.

منبع:
https://www.wpbeginner.com/wp-tutorials/how-to-add-additional-fields-to-the-wordpress-media-uploader/.

دیدگاهتان را بنویسید