Intereting Posts
Наилучшая практика структуры файловой структуры темы Добавить что-то к началу содержимого WP REST API V2 – Изменение ответов Как удалить связанные таблицы стилей из раздела главы, не удаляя их из каталога тем.? Показывает сайт в стадии разработки, но появляется после входа в админ Как получить аргумент get_categories () 'hide_empty' для работы с глобальным var var в шаблоне архива? Как получить значение из комментария meta Как предоставить CPT (пользовательский тип сообщения), основанный на дате URL После входа в панель управления Панель управления не отображается Использовать значения массива ACF в коротком коде Домашняя страница пользовательских последних новостей Добавьте класс .last к последнему <li> в каждое ul.sub-menu Как проверить, находится ли пользователь в определенной роли? Как добавить косую черту в конец wordpress домой? Установить условия объекта, не работающие с активацией плагина

Как удалить папку и содержимое, которые я создал при установке плагина

Мой плагин создает папку в папке загрузки wordpress с именем my_plugin_folder.Now, когда я нажимаю кнопку «Удалить плагин», папка должна быть удалена. Я пробовал предлагаемые здесь решения, но не работал. https://stackoverflow.com/questions/1334398/how-to-delete-a-folder-with-contents-using-php

Solutions Collecting From Web of "Как удалить папку и содержимое, которые я создал при установке плагина"

В WP у вас есть 2 решения для исключения кода во время процесса удаления плагинов.

Первое решение

В корневой папке вашего плагина создайте файл uninstall.php . Этот файл будет автоматически загружен WP во время процесса удаления. Тем не менее, чтобы предотвратить прямой доступ, вам нужно убедиться, что мы в процессе удаления, например, WP_UNINSTALL_PLUGIN глобальный WP_UNINSTALL_PLUGIN .

 // If uninstall.php is not called by WordPress, die if ( ! defined( 'WP_UNINSTALL_PLUGIN' ) ) { die; } delete_folders(); // ... 

Второе решение

В основном файле плагина используйте register_uninstall_hook .

 register_uninstall_hook( __FILE__, 'plugin_uninstall' ); function plugin_uninstall() { delete_folders(); // ... }