169 похожих чатов

У меня вопрос вот возник, можно как-то сделать через rewrite-rules

счетчик скачиваний файлов? Поясню. В папке uploads создать папку например track_downloads. При обращении к этой папке перенаправлять на php c аргументами(запрашиваемым файлом)

Задача казалось бы тривиальная хз почему вообще в wp нет механизма перехвата скачивания. Нашел плагин от kama по подсчету но мне он не подходит так как овермного чего за юзера делает, там решение больше для домохозяек.

Если перефразировать как проще всего получить событие скачивания файла все остальное я реализую сам потому что у меня уже гутенберг-блоки с файлами готовы, надо только начать вести учет скачиваний и обмазать кешем)

9 ответов

22 просмотра

по клику на кнопку скачивания слать аякс или рест запрос который обновляет счетчик... ну как с лайками

Exi(s)t- Автор вопроса

Я думал expiration = 0, делает их вечными) Ну я уже почитал за транзишн понял что он для кеширования больше и через свою табличку начал делать. А по поводу плагина, они все слишком много тянут с собой. Особенно меня упарывает что они тянут свои js и css даже когда очевидно не используются. Про регистрацию функций, классов и тонны проверок молчу. И так уже ~20 плагинов функционал которых костылить с нуля не хочется. В итоге приходится баланс искать: что могу реализовать — реализую под себя сам пусть и криво, что если тяжелое, но прям доставляет по функционалу — оставляю)

Exi(s)t
Я думал expiration = 0, делает их вечными) Ну я у...

Еще проблема что с expiration 0 - они становятся в автолоад, а значит, что данные по этим полям будут постоянно дергаться везде. Представляешь что будет, когда файлов насобирается 1000, у тебя будут по 1000+ запросов к бд на каждый чих

Exi(s)t- Автор вопроса

Вот этого не знал кст. Буду в курсе. Один раз пока использовал transient, но там он оправдан был — запрос на внутренний наш сервак который может по 0.5-1с отвечать.

Exi(s)t
Вот этого не знал кст. Буду в курсе. Один раз пока...

вообще непонятно зачем время жизни 0 если можно просто в таблицу опций писать

Lilumi Ukraine 🇺🇦
Еще проблема что с expiration 0 - они становятся в...

Все опции autoload загружаются из базы одним запросом при загрузке ядра. Другое дело, что объем передаваемых данных сильно вырастет.

Exi(s)t
Вот этого не знал кст. Буду в курсе. Один раз пока...

https://gist.github.com/kagg-design/241fdef594c326a33423ff74f6bd6115

Exi(s)t- Автор вопроса
KAGG Design
https://gist.github.com/kagg-design/241fdef594c326...

О спасибо добрый человек) Это ровно то, что мне нужно. Ни больше, ни меньше:)

Exi(s)t- Автор вопроса
KAGG Design
https://gist.github.com/kagg-design/241fdef594c326...

В общем все равно переделал на свой лад https://gist.github.com/Exieros/64db3c7404f98f0beb75b007cb16d04a Но спасибо большое, очень помогло:)

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта