Xóa Chèn Chèn khỏi liên kết URL trong tải lên Phương tiện - WP 3.5


7

Làm cách nào để xóa Insert from URLliên kết trong trang bật lên Wordpress 3.5 Add Media mới? Trong các phiên bản trước của Wordpress, điều này hoạt động tốt:

// 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');

Ai biết?

Câu trả lời:


6

Điều này sẽ làm việc:

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

Công trình tuyệt vời - hoàn thành tốt!
Christine Cooper

Điều này có thể được thực hiện thông qua javascript không, tôi đã sử dụng trình quản lý phương tiện trong bài metabox, vì vậy tôi không thể thực hiện điều này qua bộ lọc vì nó sẽ phá hỏng hành vi 'thêm phương tiện' của bài đăng.
ayublin

3

Mã của mảng tab mặc định trong WP mới nằm trong media.php và trông như thế này:

/**
 * 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);
}

Nếu bạn chỉ muốn xóa tải lên từ url theo mặc định, bạn nên thay đổi chức năng của mình thành:

// 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');

Không được thử nghiệm nhưng nó sẽ hoạt động tốt.

Chỉnh sửa: Không hoạt động vì mảng này được sử dụng ở nơi khác. Nếu bạn muốn xóa liên kết, bạn có thể sử dụng công việc này xung quanh:

function remove_media_library_tab(){
    ?>
    <style>
        .media-menu a:last-child{ display:none}
    </style>
    <?php
}
add_action('admin_head', 'remove_media_library_tab');

Điều này không hiệu quả tôi sợ. Có lẽ bạn có thể tự mình thử và gỡ lỗi mã ...?
Christine Cooper

1
Tôi chỉnh sửa câu trả lời của mình, bạn có thể kiểm tra mã mới (hoạt động trong WP của tôi) hoặc chỉ sao chép quy tắc css vào style.css của bạn. Tôi không thể tìm thấy phương pháp để loại bỏ tùy chọn này khỏi php.
Maciej Płusa

Câu trả lời của Cor van Noorloos hoạt động tốt hơn vì nó hủy cài đặt nó hơn là ẩn nó thông qua CSS. Tuy nhiên, đây là một cách tiếp cận tốt, đó là lý do tại sao tôi đã nâng cao nó.
Christine Cooper

Đúng, tốt hơn;) Tôi chỉ kiểm tra nó - nó sử dụng bộ lọc mới từ WP 3.5 mà tôi không biết;)
Maciej Płusa
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.