Черт возьми, я никак не могу понять, почему количество постов, созданных за указанный период, умножается на процент требуемых прочитанных постов, а затем берется как минимальное значение. Если здесь подразумевается процент прочитанных постов, то разве не должно быть: количество прочитанных постов / общее количество постов, умноженное на 100?
Допустим, за последние x дней было создано 9 постов, а настройка требует всего 2. Разве метод не должен просто вернуть 2, поскольку это меньше лимита постов?
Настройка сайта tl3_requires_posts_read задается в процентах. Допустим, она равна 10. При этом ограничение (cap) держит требование в разумных пределах. Допустим, оно равно 100.
«Пользователь должен прочитать 10% всех постов за период, но не более 100».
Допустим, за этот период было создано 500 постов.
В этом случае для выполнения требования нужно прочитать 50 постов (10% от общего числа).
Вычисление производится как 500 * (10.0/100.0), что дает результат 50.
Ограничение задает верхнюю границу.
Если ваше ограничение больше 50 (например, 100), оно не оказывает влияния.
[50, 100].min возвращает 50.
Но что, если за месяц будет 100 000 постов? В этом случае, без ограничения, кому-то пришлось бы прочитать 10 000 постов, чтобы выполнить требование.