it-swarm.com.de

So erweitern Sie die Medienbibliothek (WP 4.4)

Ich versuche, eine neue Registerkarte neben der Medienbibliothek zu implementieren. Ich konnte keine Lösung finden, um dies umzusetzen. In diesem Link habe ich ein Beispiel gefunden, wie ein neuer Tab implementiert werden kann: https://Gist.github.com/Fab1en/4586865 Der Tab wird jedoch nicht in der modalen Form angezeigt, die durch die Schaltfläche "Medien hinzufügen" ausgelöst wird. Wenn ich das Medien-Popup für "Ausgewähltes Bild" oder eine andere benutzerdefinierte Schaltfläche aufrufe, wird der von mir erstellte "Neue Tab" angezeigt. Ich bin hier wirklich verloren und nicht sicher, warum diese Registerkarten an einer Stelle angezeigt werden und an einer anderen nicht.

Vielen Dank

 enter image description here 

2
minnur

Es ist kein Tab, aber Sie können möglicherweise mit einer Upload-Schaltfläche beginnen. Schauen Sie sich pre-upload-ui und einige der folgenden Aktionen an. Nämlich pre-plupload-upload-ui und post-upload-ui .

Dadurch werden der Registerkarte " Upload Files " und " Media> Add New " einige Schaltflächen hinzugefügt.

BUTTONS

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

Fügen Sie dies hier nur hinzu, um die Alternative zu zeigen. Mit media_upload_tabs können Sie steuern, welche Registerkarten in der Seite enthalten sind, und media_upload_{tab} , um den Inhalt mit wp_iframe() zu rendern.

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
}
2
jgraup