Удаляем кнопки из окна «Добавить медиафайл» в WordPress

В этой статье мы покажем как скрыть/удалить кнопки из окна добавления изображений в медиа библиотеку WordPress. Возникает, конечно, вопрос: зачем это делать? Обычно, многие желают упростить интерфейс, для того, чтобы в нем было удобнее работать. В этом же случае мы упростим жизнь и нашим редакторам сайта при загрузке новых изображений, видео, аудио файлов и т.д.

После того, как вы вставите этот код, все кнопки, кроме кнопки «Удалить», исчезнут из модального окна вложенных медиа файлов.

function myAttachmentFields($form_fields, $post) {
    if ( substr( $post->post_mime_type, 0, 5 ) == 'image' ) {
        $form_fields['image_alt']['value'] = '';
        $form_fields['image_alt']['input'] = 'hidden';
        $form_fields['post_excerpt']['value'] = '';
        $form_fields['post_excerpt']['input'] = 'hidden';
        $form_fields['post_content']['value'] = '';
        $form_fields['post_content']['input'] = 'hidden';
        $form_fields['url']['value'] = '';
        $form_fields['url']['input'] = 'hidden';
        $form_fields['align']['value'] = 'aligncenter';
        $form_fields['align']['input'] = 'hidden';
        $form_fields['image-size']['value'] = 'thumbnail';
        $form_fields['image-size']['input'] = 'hidden';
        $form_fields['image-caption']['value'] = 'caption';
        $form_fields['image-caption']['input'] = 'hidden';
        $form_fields['buttons'] = array(
            'label' => '',
            'value' => '',
            'input' => 'html'
        );
        $filename = basename( $post->guid );
        $attachment_id = $post->ID;
        if ( current_user_can( 'delete_post', $attachment_id ) ) {
            if ( !EMPTY_TRASH_DAYS ) {
                $form_fields['buttons']['html'] = "<a href='" . wp_nonce_url( "post.php?action=delete&amp;post=$attachment_id", 'delete-attachment_' . $attachment_id ) . "' id='del[$attachment_id]' class='delete'>" . __( 'Delete Permanently' ) . '</a>';
            } elseif ( !MEDIA_TRASH ) {
                $form_fields['buttons']['html'] = "<a href='#' class='del-link' onclick="document.getElementById('del_attachment_$attachment_id').style.display='block';return false;">" . __( 'Delete' ) . "</a>
                         <div id='del_attachment_$attachment_id' class='del-attachment' style='display:none;'>" . sprintf( __( 'You are about to delete <strong>%s</strong>.' ), $filename ) . "
                         <a href='" . wp_nonce_url( "post.php?action=delete&amp;post=$attachment_id", 'delete-attachment_' . $attachment_id ) . "' id='del[$attachment_id]' class='button'>" . __( 'Continue' ) . "</a>
                         <a href='#' class='button' onclick="this.parentNode.style.display='none';return false;">" . __( 'Cancel' ) . "</a>
                         </div>";
            } else {
                $form_fields['buttons']['html'] = "<a href='" . wp_nonce_url( "post.php?action=trash&amp;post=$attachment_id", 'trash-attachment_' . $attachment_id ) . "' id='del[$attachment_id]' class='delete'>" . __( 'Move to Trash' ) . "</a><a href='" . wp_nonce_url( "post.php?action=untrash&amp;post=$attachment_id", 'untrash-attachment_' . $attachment_id ) . "' id='undo[$attachment_id]' class='undo hidden'>" . __( 'Undo' ) . "</a>";
            }
        }
        else {
            $form_fields['buttons']['html'] = '';
        }
    }
    return $form_fields;
}
add_filter('attachment_fields_to_edit', 'myAttachmentFields', 11, 2 );

И если сегодня вам этот сниппет покажется бесполезным, то просто добавьте страницу в закладки. Возможно, в будущем вы о нем вспомните и ощутите всю полезность кода.

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)

Об авторе ADv

Занимаюсь разработкой сайтов и магазинов на WordPress. Оказываю платные помощь и консультации. Skype: advokat_b
  • Александр

    А в какой файл этот код вставлять??

    • ADv

      В файл functions.php Вашей текущей темы

  • Александр

    А как можно удалить кнопку «Добавить медиафайл» на странице редактирования текста? Ищу везде и не могу найти…

Scroll To Top