Хорошо, для тех, кто хочет, чтобы их подписи работали ещё эффективнее для их группы (особенно если вы хотите использовать опции для отображения подписи как часть платного обновления/подписки), вот код (и объяснение логики), который, на мой взгляд, делает всё значительно лучше и помогает стимулировать больше обновлений. Мне потребовалось множество попыток, но теперь это работает. Обращайте особое внимание на места, где нужно заменить части «XXXXX».
Я хотел достичь следующих двух целей:
A) Я хотел отключить возможность не отображать подписи. Это означает, что пользователи, которые сделали обновление, будут знать, что их подпись увидят все.
B) Я хотел, чтобы возможность создавать подпись была только у определённой группы.
-
Перейдите в Администрирование > Внешний вид > Темы и компоненты > Компоненты > Установить > Создать новый
-
Добавьте этот код во вкладку :
<script>
// Сначала дождитесь загрузки базовой структуры страницы
document.addEventListener("DOMContentLoaded", function() {
// Настройте наблюдатель
const observer = new MutationObserver(function(mutations) {
// Найдите все метки управления на странице
const labels = document.querySelectorAll('label.control-label');
labels.forEach(label => {
// Ищите конкретную метку «Включить подписи»
if (label.textContent.trim() === 'Включить подписи') {
// Найдите основной контейнер, содержащий и метку, и флажок, и скройте его
const controlGroup = label.closest('.control-group') || label.parentElement;
if (controlGroup) {
controlGroup.style.display = 'none';
}
}
});
});
// ТЕПЕРЬ начните наблюдать за телом документа, так как мы знаем, что оно существует
observer.observe(document.body, { childList: true, subtree: true });
});
</script>
- Добавьте этот код во вкладку CSS (замените XXXXX на название вашей группы):
/* Скрыть раздел подписей для всех */
.user-preferences .control-group.signatures,
.user-preferences .signature-preferences,
.user-preferences div[data-setting-name=“user_card_badge”] + .control-group {
display: none !important;
}
/* Показать только если на теге body присутствует класс ‘user-is-XXXXX’ */
body.user-is-XXXXX .user-preferences .control-group.signatures,
body.user-is-XXXXX .user-preferences .signature-preferences,
body.user-is-XXXXX .user-preferences div[data-setting-name=“user_card_badge”] + .control-group {
display: block !important;
}
3. Добавьте этот код в тег <head> ниже первого блока (замените XXXXX на название вашей группы):
4. Добавьте этот код во вкладку CSS ниже первого блока (замените XXXXX на название вашей группы):
```css
/* Скрыть раздел подписей для всех */
.user-preferences .control-group.signatures,
.user-preferences .signature-preferences,
.user-preferences div[data-setting-name="user_card_badge"] + .control-group {
display: none !important;
}
/* Показать только если на теге body присутствует класс 'user-is-XXXXX' */
body.user-is-XXXXX .user-preferences .control-group.signatures,
body.user-is-XXXXX .user-preferences .signature-preferences,
body.user-is-XXXXX .user-preferences div[data-setting-name="user_card_badge"] + .control-group {
display: block !important;
}
Готово.
Я не разработчик. Всё, что я знаю, это то, что это работает на 100% на моём сайте.
Также автору плагина – очень хотелось бы иметь возможность ограничивать количество символов в подписи. Я перепробовал множество вариантов, но ничего не сработало.