web-dev-qa-db-fra.com

Comment étendre la médiathèque (WP 4.4)

J'essaye d'implémenter un nouvel onglet à côté de la médiathèque. Je n'ai pas pu trouver de solution pour mettre cela en œuvre. J'ai trouvé un exemple d'utilisation d'un nouvel onglet dans ce lien: https://Gist.github.com/Fab1en/4586865 Toutefois, cet onglet n'apparaît pas dans le formulaire modal déclenché par le bouton Ajouter un média. Mais si j'appelle le menu contextuel du média pour Image sélectionnée ou tout autre bouton personnalisé, le "Nouvel onglet" que j'ai créé apparaît. Je suis vraiment perdu ici, je ne sais pas pourquoi ces onglets apparaissent à un endroit et pas à un autre.

Je vous remercie

 enter image description here 

2
minnur

Ce n'est pas un onglet mais vous pourrez peut-être utiliser un bouton de téléchargement. Consultez pre-upload-ui et certaines actions qui suivent. À savoir pre-plupload-upload-ui et post-upload-ui .

Cela ajoutera quelques boutons à l'onglet ' Upload Files ' et à ' Media> Add New '.

BOUTONS

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>';
}

ONGLETS

Ajoutant ceci ici juste pour montrer le remplaçant. media_upload_tabs vous aidera à contrôler quels onglets sont inclus dans le côté et media_upload_{tab} pour afficher le contenu à l’aide de 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
}
2
jgraup