пытаюсь найти участников в моем блоге, используя несколько полей.
<?php if ( bp_has_members( "search_terms=Red Box" ) AND bp_has_members( "search_terms=Blue Box" )) : ?>
<?php while ( bp_members() ) : bp_the_member(); ?>
…html here
<?php endwhile; ?>
<?php endif; ?>
Тем не менее, если я использую этот код, результат покажет мне только членов «Blue Box», а не обоих.
Любой совет?
Из документации BuddyPress:
Для поиска по нескольким терминам, ставьте пробел между каждым термином. Поиск основан на «И», а не «ИЛИ». Таким образом, будут возвращены только те участники, которые выбрали / вошли как «пудели», так и «морковки».
<?php if ( bp_has_members( 'search_terms=poodles carrots' ) ) : ?>
Это, очевидно, не работает, если поисковые термины содержат пробелы.
Смотрите документацию для Члены петли, конкретно my_custom_ids()
пример. Вы можете использовать аналогичную функцию для передачи терминов запроса, выполнить оператор SQL, чтобы получить только те элементы, к которым применяются эти термины, а затем вернуть строку, которая выглядит как include=1,2,5,6,7
чтобы получить только эти идентификаторы пользователей.
Других решений пока нет …