WP_DELETE_FILE() │ WP 4.2.0: описание функции, примеры использования, хуки и изменения

# WP_DELETE_FILE() │ WP 4.2.0

Функция для удаления файла. Эта функция является оберткой для функции unlink() в PHP и использует фильтр wp_delete_file перед удалением файла.

Функция применяет фильтр wp_delete_file, после чего вызывает функцию unlink(). Фильтр принимает путь к файлу, который нужно удалить. Функция unlink() срабатывает только в том случае, если фильтр возвращает непустое значение.

### Используется в

wp_delete_file_from_directory()

### Хуки от функции

- wp_delete_file

### Возврат

Возвращает true при успешном удалении файла и false в случае неудачи.

### Использование

```php
wp_delete_file( $file );
  • $file (строка, обязательный параметр) — путь к файлу, который нужно удалить.

Примеры

Пример 1: Удаление файла test.txt из директории загрузок

$upload_info = wp_get_upload_dir();
$file = $upload_info['basedir'] . '/test.txt';

wp_delete_file( $file );

Пример 2: Запрет на удаление файлов с именем test.txt с помощью фильтра

В этом примере файл test.txt не будет удален.

add_filter( 'wp_delete_file', function ( $file ) {
    if ( 'test.txt' === basename( $file ) ) {
        return '';
    }

    return $file;
} );

Пример 3: Простой пример удаления файла в WordPress

// путь к файлу, который необходимо удалить.
$file_path = '/home/public_html/wp-content/uploads/2020/04/photo_img_1-8.png'; 

wp_delete_file( $file_path );

Изменения

  • С версии 4.2.0 — функция была введена.
  • С версии 6.7.0 — был добавлен возвращаемый результат.

Код функции

function wp_delete_file( $file ) {
    /**
     * Фильтрует путь к файлу для удаления.
     *
     * @since 2.1.0
     *
     * @param string $file Путь к файлу для удаления.
     */
    $delete = apply_filters( 'wp_delete_file', $file );

    if ( ! empty( $delete ) ) {
        return @unlink( $delete );
    }

    return false;
}

Связанные функции

Файловая система (Создание и удаление файлов и папок)

  • copy_dir()
  • get_dirsize()
  • list_files()
  • recurse_dirsize()
  • unzip_file()
  • wp_delete_file_from_directory()
  • WP_Filesystem()
  • WP_Filesystem_Direct()
  • wp_mkdir_p()
  • wp_tempnam()

Файловая система (WP_FILESYSTEM)

  • get_temp_dir()
  • wp_filesize()

Эта статья предоставляет понятный и структурированный обзор функции WP_DELETE_FILE(), позволяя новичкам в WordPress легко понять ее использование и в��зможности.

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *