如何获得像古腾堡街区一样的画廊表格/部分?

时间:2021-06-24 作者:murni

我在wp管理员中制作了一个自定义php页面,需要上传多个图像并在上传后显示,然后选择要显示的图像。基本上,我想有古腾堡Wordpress图片库中的相同效果。是否有任何函数可以让整个gallery块显示在我的php页面上?

非常感谢。

1 个回复
SO网友:Phil

wp.media 是WordPress用于显示媒体库模式的JavaScript API。

您可以通过将自定义JS脚本排入管理页面的队列来使用它:

wp_enqueue_script(\'media-upload\');
wp_enqueue_media();
wp_enqueue_script(
    \'pb-admin-script\',
    \'admin.js\',
    array(
        \'jquery\',
    )
);
然后像这样使用它:

HTML:

<button class="upload_image_button button button-primary">
    <?php _e(\'Upload Image\', \'pb\'); ?>
</button>
<img src="" id="image-preview" style="display: none"/>
JS公司:

jQuery(document).ready(function($) {
    $(document).on(\'click\', \'.upload_image_button\', function(event) {
        event.preventDefault();

        var imgPrev = $(\'#image-preview\');

        var file_frame = wp.media.frames.file_frame = wp.media({
            title: \'Select or upload image\',
            library: {
                type: \'image\'
            },
            button: {
                text: \'Select\'
            },
            multiple: false,
        });

        file_frame.on(\'select\', function() {
            var attachment = file_frame.state().get(\'selection\').first().toJSON();

            imgPrev.src = attachment.url;
            imgPrev.style.removeProperty(\'display\');
        });

        file_frame.open();
    });

});

相关推荐

Column Images Showing Gaps

我正在使用带有Avada主题的Wordpress。在页面顶部,我有一个fusion滑块。下面我将设置一个包含2列的容器。我为每一列插入了一幅图像。我无法解决如何消除图像左右两侧的间隙(我需要它们转到屏幕边缘)以及融合滑块与下方两幅图像之间的间隙。谢谢