如何扩展媒体库(WP 4.4)

时间:2016-02-01 作者:minnur

我正在尝试在媒体库旁边实现一个新选项卡。我找不到实现此功能的解决方案。我在这个链接中找到了一个如何实现新选项卡的示例:https://gist.github.com/Fab1en/4586865 但是,该选项卡不会显示在由“添加媒体”按钮触发的模式窗体中。但如果我调用媒体弹出菜单中的特色图像或任何其他自定义按钮,我创建的“新选项卡”就会显示出来。我真的很迷茫,不知道为什么这些标签会出现在一个地方而不会出现在另一个地方。

非常感谢。

enter image description here

1 个回复
最合适的回答,由SO网友:jgraup 整理而成

这不是一个选项卡,但您可以通过一个上载按钮开始。退房pre-upload-ui 以及接下来的一些行动。即pre-plupload-upload-uipost-upload-ui.

这将在\'Upload Files\' 制表符和收件人\'Media > Add New\'.

一零

add_action( \'pre-plupload-upload-ui\', \'wpse_20160202_pre_plupload_upload_ui\' );
add_action( \'post-upload-ui\', \'wpse_20160202_post_upload_ui\' );

function wpse_20160202_pre_plupload_upload_ui()
{
    # see https://core.trac.wordpress.org/browser/tags/4.4.1/src/wp-admin/includes/media.php#L1902

    print \'<button onclick="javascript:alert(\\\'Upload From Dropbox\\\');" id="db-upload-btn" class="button media-button button-primary button-large" style="margin-bottom:10px;">Upload From Dropbox</button>\';
}


function wpse_20160202_post_upload_ui()
{
    # see wp-includes/media-template.php

    print \'<button onclick="javascript:alert(\\\'Another Upload From Dropbox\\\');" id="db-upload-btn" class="button media-button button-primary button-large" style="margin-bottom:10px;">Another Upload From Dropbox</button>\';
}

TABS

将此添加到此处只是为了显示备用项。media_upload_tabs 将帮助您控制侧边和media_upload_{tab} 要呈现内容,请使用wp_iframe().

add_filter( \'media_upload_tabs\', \'media_upload_tabs__tab_slug\' );

function media_upload_tabs__tab_slug( $tabs ) {
    $newtab = array ( \'tab_slug\' => \'Your Tab Name\' );
    return array_merge( $tabs, $newtab );
}

add_action( \'media_upload_tab_slug\', \'media_upload_tab_slug__content\' );

function media_upload_tab_slug__content() {
    wp_iframe( \'media_upload_tab_slug_content__iframe\' );
}

function media_upload_tab_slug_content__iframe() {
    ?>
    <div>tab_slug: Add your content here.</div><?php
}

相关推荐

从wp.media.editor.附件获取所选图像URL到文本输入失败。我做错了什么?

我已将媒体按钮作为post meta field 在以下情况下将图像URL插入文本字段Insert Into Page 单击按钮。它一直工作到打开“媒体存储库”窗口、选择“图像”和“插入”为止,但没有向输入字段传递任何值。Expected result结果应该是URL和媒体ID插入为https://avalon.com/dev/wp-content/uploads/2021/01/scp7147prko31.jpg|12 但没有返回值。我可以手动输入URL并保存数据。我彻底扫描了我的代码,并尝试了许多ja