Я сейчас создаю фильтры для своих архивных страниц. Поскольку я работаю над проектом электронной коммерции (woocommerce), я использую некоторые дополнительные пользовательские термины, такие как бренды. Учитывая, что пользователь находится в архиве футболок категории продукта, я хочу показать на странице архива все бренды, которые связаны с футболками.
С get_terms
я могу отображать только все бренды, но не "перекрещенные" футболками. Любая помощь приветствуется. Я также могу быть абсолютно не прав с моим подходом.
Мой подход до сих пор: (Это не может быть распространенным способом)
$product_ids = get_posts(array(
'numberposts' => -1, // get all posts.
'post_type' => 'product',
'post_status' => 'publish',
'tax_query' => array(
array(
'taxonomy' => 'product_cat',
'field' => 'term_id',
'terms' => $term_id,
),
),
'fields' => 'ids', // Only get post IDs
));
foreach ($product_ids as $test_id) {
$aaa = wp_get_post_terms($test_id, 'manufacturer', array('fields' => 'ids'));
$brands[] = $aaa[0];
}
$brands = array_unique($brands);