счетчик скачиваний файлов? Поясню. В папке uploads создать папку например track_downloads. При обращении к этой папке перенаправлять на php c аргументами(запрашиваемым файлом)
Задача казалось бы тривиальная хз почему вообще в wp нет механизма перехвата скачивания. Нашел плагин от kama по подсчету но мне он не подходит так как овермного чего за юзера делает, там решение больше для домохозяек.
Если перефразировать как проще всего получить событие скачивания файла все остальное я реализую сам потому что у меня уже гутенберг-блоки с файлами готовы, надо только начать вести учет скачиваний и обмазать кешем)
по клику на кнопку скачивания слать аякс или рест запрос который обновляет счетчик... ну как с лайками
Я думал expiration = 0, делает их вечными) Ну я уже почитал за транзишн понял что он для кеширования больше и через свою табличку начал делать. А по поводу плагина, они все слишком много тянут с собой. Особенно меня упарывает что они тянут свои js и css даже когда очевидно не используются. Про регистрацию функций, классов и тонны проверок молчу. И так уже ~20 плагинов функционал которых костылить с нуля не хочется. В итоге приходится баланс искать: что могу реализовать — реализую под себя сам пусть и криво, что если тяжелое, но прям доставляет по функционалу — оставляю)
Еще проблема что с expiration 0 - они становятся в автолоад, а значит, что данные по этим полям будут постоянно дергаться везде. Представляешь что будет, когда файлов насобирается 1000, у тебя будут по 1000+ запросов к бд на каждый чих
Вот этого не знал кст. Буду в курсе. Один раз пока использовал transient, но там он оправдан был — запрос на внутренний наш сервак который может по 0.5-1с отвечать.
вообще непонятно зачем время жизни 0 если можно просто в таблицу опций писать
Все опции autoload загружаются из базы одним запросом при загрузке ядра. Другое дело, что объем передаваемых данных сильно вырастет.
https://gist.github.com/kagg-design/241fdef594c326a33423ff74f6bd6115
О спасибо добрый человек) Это ровно то, что мне нужно. Ни больше, ни меньше:)
В общем все равно переделал на свой лад https://gist.github.com/Exieros/64db3c7404f98f0beb75b007cb16d04a Но спасибо большое, очень помогло:)
Обсуждают сегодня