Кэш-каталог, необходимый для плагина

Я работаю над новым плагином, и мне нужно где-то писать файлы frew cache.

Сначала мне захотелось создать папку кэша внутри моего плагина со следующим файлом .gitignore:

# Ignore everything in this directory * # Except this file !.gitignore 

Но когда я проверяю плагин в новом проекте, эта папка не может быть записана. Обидно я не хочу, чтобы пользователь перешел в командную строку и установил разрешение этой папки с помощью chmod (не каждый может это сделать).

Кто-нибудь знает альтернативное место, где я могу сохранить свои файлы кеша?

Заранее спасибо!

Если вы наблюдаете, как популярные плагины кэширования, такие как WP Super Cache или W3TC, используют папку кэша в wp-content а также другие плагины, которые используют загружаемые файлы или кэшируемые файлы, было бы целесообразно создать папку внутри этой структуры. Сторона может возникнуть, если пользователь имеет заблокированную структуру папок, как вы указали, и папка плагинов может быть одной из этих защищенных областей. По моему опыту, я видел, как владельцы сайтов блокировали файловую систему с флагами для cache и uploads в папку wp-content и это представляло бы проблему совместимости для вашего плагина. Таким образом, чтобы быть как можно более «WordPressy», я бы рекомендовал в качестве практики придерживаться общей практики хранения созданных файлов в соответствующих областях, которые обычно связаны с динамически создаваемыми статическими ресурсами.

Большая проблема хранения статических файлов в вашей папке плагина – это когда происходит обновление плагина, кэшированные файлы будут удалены, потому что папка будет заменена во время процесса обновления. Опять же без специального механизма обновления в вашем плагине (который помешал бы ему быть отправлен в репозиторий .org), вы остаетесь с хитом производительности в кэшированных файлах каждый раз, когда происходит обновление кода с содержимым / использованием.

В ответ на замечания по разъяснению в теории / практике системы управления версиями не должны отслеживать загрузки, если только не выполняется версия sql, и в этом случае я бы не стал слишком беспокоиться об этом.