Есть элементы, созданные с помощью функции "повторитель", есть чекбоксы, которые должны сортировать эти элементы при нажатии на сам чекбокс.
Сразу покажу макет, чтобы было наглядно:
Макет
При нажатии на какой-либо ярлык, элементы сортируются, это реализовано с помощью js:
$('.sort').on('click', function() {
$('.item').hide();
var type = $(this).attr("data-show");
$('.sortcontainer .item' + type).show();
});
Тоже самое нужно реализовать, но уже на сайте, с помощью этих чекбоксов, согласно
в документации я вывела отображение
сортировочных чекбоксов таким способом:
<?php
// переменные
$field = get_field_object('add_meta');
$colors = $field['value'];
// проверка
if( $colors ): ?>
<?php foreach( $colors as $color ): ?>
<button type="button" data-show="" class="btn btn-info sort"><?php echo $field['choices'][ $color ]; ?></button>
<?php endforeach; ?>
<?php endif; ?>
Но как теперь связать и отобразить такую-же сортировку на сайте ?
Из документации:
Работа с Query posts
Показывает как выбрать записи содержащие чекбокс равный «red». Нам поможет в этом query posts. Поле чекбокс сохраняется в виде сериализованного массива, поэтому надо делать выборку через meta_query и использовать тип сравнения compare.
Может такой подход поможет ? :
<?php
$posts = get_posts(array(
'meta_query' => array(
array(
'key' => 'colors', // name of custom field
'value' => '"red"', // matches exactly "red"
'compare' => 'LIKE'
)
)
));
if( $posts ) {
//...
}
Я так поняла это выборка чекбокса по "value", ок, а как задейстовать и связать элементы, чтобы они сортировались при нажатии ?