نماد سایت کیت وردپرس

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

دکمه آپلود رسانه در وردپرس با کدنویسی

دکمه آپلود رسانه در وردپرس با کدنویسی

شاید شما هم بخواهید برای افزودن دکمه آپلود در وردپرس از کدنویسی استفاده کنید در این مقاله از سایت کیت وردپرس قصد داریم این موضوع رو به صورت کامل آموزش دهیم.

فراخوانی اسکریپت‌های رسانه در وردپرس:

اطمینان حاصل کنید که اسکریپت‌های لازم برای آپلود کننده رسانه در فایل افزونه‌ی خود فراخوانی شده باشند. می‌توانید این کار را با افزودن کد زیر به فایل افزونه یا فایل اصلی PHP افزونه‌ی خود انجام دهی

   function enqueue_media_uploader_scripts() {
       if (is_admin()) {
           wp_enqueue_media();
       }
   }
   add_action('admin_enqueue_scripts', 'enqueue_media_uploader_scripts');

ایجاد فیلد ورودی برای URL رسانه:

شما به یک فیلد ورودی نیاز دارید که کاربران بتوانند URL رسانه یا تصویر را وارد کنند. می‌توانید یک فیلد ورودی در تنظیمات افزونه یا هرجایی که نیاز دارید، ایجاد کنید.

   <input type="text" id="media_url" name="media_url" value="<?php echo esc_attr($media_url); ?>" />

افزودن دکمه‌ی آپلود کننده رسانه:

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

   <button id="upload_media_button" class="button">رسانه آپلود کنید</button>

جاوااسکریپت برای مدیریت آپلود کننده رسانه:

کد جاوا اسکریپت را اضافه کنید تا عملکرد آپلود کننده رسانه را مدیریت کند. این کد هنگام کلیک بر روی دکمه، آپلود کننده رسانه وردپرس را باز می‌کند.

   jQuery(document).ready(function ($) {
       // تمام متغیرها را برای استفاده در دامنه تنظیم کنید
       var frame;
       var mediaUrlInput = $('#media_url');

       // هنگامی که بر روی دکمه‌ی تصویر کلیک می‌شود...
       $('#upload_media_button').click(function (e) {
           e.preventDefault();

           // اگر فریم رسانه از قبل وجود داشته باشد، بازش کنید.
           if (frame) {
               frame.open();
               return;
           }

           // یک فریم رسانه جدید ایجاد کنید
           frame = wp.media({
               title: 'انتخاب یا آپلود رسانه',
               button: {
                   text: 'استفاده از این رسانه'
               },
               multiple: false  // تنظیم شود تا انتخاب چندین فایل رسانه امکان‌پذیر باشد
           });

           // هنگامی که یک تصویر در فریم رسانه انتخاب می‌شود...
           frame.on('select', function () {
               // جزئیات پیوست را از حالت فریم دریافت کنید
               var attachment = frame.state().get('selection').first().toJSON();

               // مقدار URL رسانه را در فیلد ورودی تنظیم کنید
               mediaUrlInput.val(attachment.url);
           });

           // در نهایت، فریم رسانه را باز کنید
           frame.open();
       });
   });

از wp_enqueue_script در فایل PHP خود برای فراخوانی این اسکریپت اطمینان حاصل کنید.

   function enqueue_media_uploader_scripts() {
       if (is_admin()) {
           wp_enqueue_media();
           wp_enqueue_script('your-plugin-media-uploader', plugin_dir_url(__FILE__) . 'path-to-your-js-file.js', array('jquery'), null, true);
       }
   }
   add_action('admin_enqueue_scripts', 'enqueue_media_uploader_scripts');

ذخیره و بازیابی URL رسانه:

حالا، باید با ذخیره و بازیابی URL رسانه در افزونه خود برخورد کنید. می‌توانید از توابع update_option و get_option برای ذخیره و بازیابی URL استفاده کنید.

   // ذخیره URL رسانه
   $media_url = sanitize_text_field($_POST['media_url']);
   update_option('your_plugin_media_url', $media_url);

   // بازیابی URL رسانه
   $media_url = get_option('your_plugin_media_url');

این خطوط را با توجه به ساختار و تنظیمات افزونه خود تطبیق دهید.

این تا حدودی! با این مراحل، باید یک آپلود کننده رسانه کارآمد در افزونه وردپرس خود داشته باش

اگه برات مفید بود به این مقاله امتیاز بده 🙂
خروج از نسخه موبایل