Вопрос или проблема
Я использую Contact Form 7 и у меня есть группа чекбоксов в форме.
Я хочу присвоить каждому чекбоксу класс.
CF7 позволяет добавлять класс, но это относится только к родительскому объекту.
Я хочу добавить свой собственный класс к внутренним div.
Я хочу добавить пользовательский класс, потому что использую Bootstrap 4, и хочу, чтобы в строке было 3 чекбокса (например), присвоив класс ‘col-4’.
Я что-то упускаю?
Мне понадобится использовать JavaScript?
с использованием jQuery в footer.php
jQuery(document).ready(function($){
$('.wpcft-form-control div.checkbox').addClass('col-4');
}
или через css (вам придется подстроить под разные разрешения экрана и провести некоторые тесты)
<style>
.wpcft-form-control div.checkbox{width:33%;max-width:33%;float:left}
</style>
Но я думаю, вы можете создать отдельные чекбоксы и обернуть их в
<div class="col-4">[checkbox checkbox-x "option1"]</div>
<div class="col-4">[checkbox checkbox-x "option2"]</div>
<div class="col-4">[checkbox checkbox-x "option3"]</div>
в редакторе формы
В настоящее время вы можете использовать class:yourclass в шорткоде. Это относится к .wpcf7-form-control div.
[checkbox checkbox-name class:yourclass “option”]
Ответ или решение
Для того чтобы добавить класс каждому чекбоксу в плагине Contact Form 7, существует несколько подходов. К сожалению, сама система CF7 напрямую не поддерживает добавление класса к каждому отдельному чекбоксу внутри группы, но вы можете использовать несколько различных методов для достижения желаемого результата.
1. Использование отдельных чекбоксов
Самый простой и эффективный способ — это создать отдельные чекбоксы для каждого варианта и обернуть каждый из них в div
с нужным классом Bootstrap. Это позволит вам легко управлять стилями через класс "col-4" для достижения нужного размещения:
<div class="col-4">[checkbox checkbox-x "option1"]</div>
<div class="col-4">[checkbox checkbox-x "option2"]</div>
<div class="col-4">[checkbox checkbox-x "option3"]</div>
2. Использование jQuery
Если вы уже имеете группу чекбоксов и не хотите их разделять, вы можете использовать jQuery для добавления класса к необходимым элементам. Вот пример кода, который можно добавить в файл footer.php или в файл JavaScript вашей темы:
jQuery(document).ready(function($) {
$('.wpcf7-form-control div.checkbox').addClass('col-4');
});
Этот код добавит класс col-4
к каждому div
с классом checkbox
, который содержит ваш чекбокс.
3. Использование CSS-кода
Если вы хотите управлять шириной чекбоксов через CSS, вы можете применить следующий стиль. Этот метод может требовать некоторых тестов по адаптивному дизайну:
<style>
.wpcf7-form-control div.checkbox {
width: 33%;
max-width: 33%;
float: left;
}
</style>
4. Использование расширенного синтаксиса шорткодов
На данный момент, Contact Form 7 позволяет использовать более новый синтаксис шорткодов. Вы можете добавить класс к группе чекбоксов через шорткод следующим образом:
[checkbox checkbox-name class:yourclass "option1" "option2" "option3"]
Этот метод применит указанный класс к родительскому контейнеру чекбоксов, но не даст возможность добавить класс каждому отдельному чекбоксу.
Заключение
Каждый из вышеупомянутых методов имеет свои преимущества. Если вам необходимо точно контролировать макет и стили, использование отдельных шорткодов для каждого чекбокса будет наилучшим выбором. Если вы желаете сохранить структуру в группе, вы можете воспользоваться jQuery или CSS.
Если у вас есть дополнительные вопросы или проблемы, пожалуйста, дайте знать, и я с радостью помогу вам!