Entfernen Sie den Link "Von URL einfügen" in Media Upload - WP 3.5

7

Wie entferne ich den Insert from URLLink auf der neuen Popup-Seite Wordpress 3.5 Add Media? In früheren Versionen von Wordpress hat dies gut funktioniert:

// removes URL tab in image upload for post
function remove_media_library_tab($tabs) { 
    if (isset($_REQUEST['post_id'])) {
        $post_type = get_post_type($_REQUEST['post_id']);
        if ('premium' == $post_type)
            unset($tabs['library']);
            unset($tabs['type_url']);
    }
    return $tabs;
}
add_filter('media_upload_tabs', 'remove_media_library_tab');

Wer weiß?

Christine Cooper
quelle

Antworten:

6

Das sollte funktionieren:

add_filter( 'media_view_strings', 'cor_media_view_strings' );
/**
 * Removes the media 'From URL' string.
 *
 * @see wp-includes|media.php
 */
function cor_media_view_strings( $strings ) {
    unset( $strings['insertFromUrlTitle'] );
    return $strings;
}

quelle
Funktioniert super - gut gemacht!
Christine Cooper
Ist dies über Javascript möglich, habe ich den Medienmanager in der Post-Metabox verwendet, daher kann ich dies nicht über Filter tun, da dies das Verhalten des Post-Medien hinzufügen ruiniert.
Ayublin
3

Der Code des Standard-Tabs-Arrays in neuem WP befindet sich in media.php und sieht folgendermaßen aus:

/**
 * Defines the default media upload tabs
 *
 * @since 2.5.0
 *
 * @return array default tabs
 */
function media_upload_tabs() {
    $_default_tabs = array(
        'type' => __('From Computer'), // handler action suffix => tab text
        'type_url' => __('From URL'),
        'gallery' => __('Gallery'),
        'library' => __('Media Library')
    );

    return apply_filters('media_upload_tabs', $_default_tabs);
}

Wenn Sie den Upload standardmäßig nur von der URL entfernen möchten, sollten Sie Ihre Funktion ändern in:

// removes URL tab in image upload for post
function remove_media_library_tab($tabs) { 
    unset($tabs['type_url']);
    return $tabs;
}
add_filter('media_upload_tabs', 'remove_media_library_tab');

Nicht getestet, aber es sollte gut funktionieren.

Bearbeiten: Funktioniert nicht, da dieses Array an einer anderen Stelle verwendet wird. Wenn Sie nur den Link entfernen möchten, können Sie diese Problemumgehung verwenden:

function remove_media_library_tab(){
    ?>
    <style>
        .media-menu a:last-child{ display:none}
    </style>
    <?php
}
add_action('admin_head', 'remove_media_library_tab');
Maciej Płusa
quelle
Das funktioniert leider nicht. Vielleicht könnten Sie es selbst versuchen und den Code debuggen ...?
Christine Cooper
1
Ich bearbeite meine Antwort, Sie können neuen Code überprüfen (funktioniert in meinem WP) oder einfach die CSS-Regel in Ihre style.css kopieren. Ich kann keine Methode finden, um diese Option aus PHP zu entfernen.
Maciej Płusa
Die Antwort von Cor van Noorloos funktioniert besser, da sie sie deaktiviert, anstatt sie über CSS auszublenden. Dies war jedoch ein guter Ansatz, weshalb ich ihn positiv bewertet habe.
Christine Cooper
Ja, es ist besser;) Ich überprüfe es einfach - es wird ein neuer Filter aus WP 3.5 verwendet, den ich nicht kannte;)
Maciej Płusa