Возможность вручную изменить статус значка на «недоступен для получения»

На моём сайте много значков, которые автоматически выдаются через API, когда кто-то выполняет какое-то действие на связанном сайте WordPress. Это работает отлично!

Однако есть несколько значков, которые мне нужно выдавать вручную на постах.

Когда я это делаю, в списке «доступные для выдачи значки» появляются все значки, которые я настроил, из-за чего приходится долго прокручивать список.

Есть ли способ сделать значок «недоступным для выдачи» администраторами, но при этом сохранить возможность его выдачи через API? Это помогло бы в управлении значками.

Спасибо!

3 лайка

Я заметил, что бейджи с SQL-логикой не отображаются в списке для выдачи. Есть ли способ добавить в бейдж фиктивную или невозможную SQL-логику, чтобы он не появлялся в списке, но при этом его всё ещё можно было бы выдать через API?

Вы включили пользовательский SQL для значков через скрытую настройку? Включить SQL для значков

Да, у меня есть.

Если у вас есть возможность добавить SQL-запрос, попробуйте включить туда условие, которое невозможно выполнить, и посмотрите, что получится. :+1: Это не совсем то, для чего это предназначено, но может сработать для ваших задач.

Например:

SELECT id, user_id, created_at, granted_at
FROM users
WHERE id = -1000

Также убедитесь, что автоматическое отклонение не включено, иначе это затронет и вручную выданные права.

Я получил эту ошибку:

Запрос срабатывает для пользователей, но не ссылается на массив ':user_ids'

Выбрали ли вы реальный триггер на основе пользователей? Я оставил свой поле пустым. Думаю, что «Обновлять ежедневно» тоже сработает.

Ах да, ежедневное обновление работает отлично, спасибо. Я проверю, смогу ли я всё ещё предоставлять это через API.

Да, всё сработало отлично, спасибо! Пока у этого фейкового SQL нет недостатков, это должно быть решением, которое я искал!

1 лайк

После последнего обновления это перестало работать: все значки снова можно получить, даже если у них есть критерий, который невозможно выполнить.

Это баг? Исправят ли его? Или это новая норма?

Спасибо!

1 лайк

Ах, боюсь, что этот обходной путь больше не работает. :cry:

Некоторое время назад произошли изменения:

В сообщении о коммите они ссылались на эту тему, но, к сожалению, не обновили информацию здесь.

2 лайка