Как создать второй блок избранного изображения для сообщений в WordPress - PullRequest
0 голосов
/ 12 июля 2020

У меня есть шаблон, и в сообщениях мне нужно загрузить миниатюру и баннер, которые являются отдельными изображениями. Я имею в виду, что баннер не похож на миниатюру. Я не могу использовать плагин и не хочу делать

add_theme_support('post-thumbnails');
add_theme_support('post-banner');

Я знал, что введенный мной код неверен, дело в том, что я не знаю, как это запустить

1 Ответ

0 голосов
/ 12 июля 2020

Шаг 1 : Добавьте приведенный ниже код в функции вашей темы. php

image

Шаг 2 : Создайте второе изображение. js любой внутри папки вашей темы и вставьте приведенный ниже код

jQuery(document).ready(function ($) {

    // Uploading files
    var file_frame;

    jQuery.fn.upload_listing_image = function (button) {
        var button_id = button.attr('id');
        var field_id = button_id.replace('_button', '');

        // If the media frame already exists, reopen it.
        if (file_frame) {
            file_frame.open();
            return;
        }

        // Create the media frame.
        file_frame = wp.media.frames.file_frame = wp.media({
            title: jQuery(this).data('uploader_title'),
            button: {
                text: jQuery(this).data('uploader_button_text'),
            },
            multiple: false
        });

        // When an image is selected, run a callback.
        file_frame.on('select', function () {
            var attachment = file_frame.state().get('selection').first().toJSON();
            jQuery("#" + field_id).val(attachment.id);
            jQuery("#listingimagediv img").attr('src', attachment.url);
            jQuery('#listingimagediv img').show();
            jQuery('#' + button_id).attr('id', 'remove_listing_image_button');
            jQuery('#remove_listing_image_button').text('Remove listing image');
        });

        // Finally, open the modal
        file_frame.open();
    };

    jQuery('#listingimagediv').on('click', '#upload_listing_image_button', function (event) {
        event.preventDefault();
        jQuery.fn.upload_listing_image(jQuery(this));
    });

    jQuery('#listingimagediv').on('click', '#remove_listing_image_button', function (event) {
        event.preventDefault();
        jQuery('#upload_listing_image').val('');
        jQuery('#listingimagediv img').attr('src', '');
        jQuery('#listingimagediv img').hide();
        jQuery(this).attr('id', 'upload_listing_image_button');
        jQuery('#upload_listing_image_button').text('Set listing image');
    });

});

Замените указанный выше путь js своим путем. И чтобы использовать не страницу редактирования сообщения, просто замените сообщение. php в функции 'wpdocs_selectively_enqueue_admin_script' на настраиваемый тип сообщения, который вы будете использовать sh.

...