add_filter( 'get_terms', 'get_subcategory_terms3', 10, 3 );
function get_subcategory_terms3( $terms3, $taxonomies, $args ) {
//начало расчета id и ярлыков siktivkar uhta
$exclude_terms = array(); // массив для id siktivkar
$exclude_visio = array(); // id uhta
$exclude_terms_sik = array(); //массив для ярлыков siktivkar
$exclude_terms_uht = array(); //массив для ярлыков uhta
// помещение по умолчанию id siktivkar uhta
array_push( $exclude_terms, 15 ); //сыктывкар
array_push( $exclude_visio, 16 ); //id uhta
// найти подкатегории id siktivkar
$termchildren = get_term_children( 15, 'product_cat' );
// найти подкатегории id uhta
$termchildren_visio = get_term_children( 16, 'product_cat' );
// перебор подкатегорий и добавление в массив id и ярлыков uhta
foreach( $termchildren_visio as $child ) {
$term = get_term_by( 'id', $child, 'product_cat' );
array_push( $exclude_visio, $term->term_id );
$product_uht = get_post(term_id);
$slug = $product_uht->post_name;
array_push( $exclude_terms_uht, $term->slug);
}
// перебор подкатегорий и добавление их в массив id и ярлыков siktivkar
foreach( $termchildren as $child ) {
$term = get_term_by( 'id', $child, 'product_cat' );
array_push( $exclude_terms, $term->term_id );
$product_sik = get_post(term_id);
$slug = $product_sik->post_name;
array_push( $exclude_terms_sik, $term->slug);
}
//добавление ярлыка siktivkar в массив ярлыков siktivkar
array_push( $exclude_terms_sik, 'siktivkar');
//добавление ярлыка uhta в массив ярлыков uhta
array_push( $exclude_terms_uht, 'uhta');
$strs = implode(",",$exclude_terms);//массив id siktivkar для просмотра
$str_sik = implode(",",$exclude_terms_sik);//массив для ярлыков siktivkar для просмотра
$str = implode(",",$exclude_visio); // массив id uhta для просмотра
$str_uht = implode(",",$exclude_terms_uht);//массив для ярлыков uhta для просмотра
//конец расчета ярлыков
$new_terms = array();
// если находится в товарной категории и на странице сыктывкара по id
if (is_product_category($exclude_terms)) {
echo $str; //смотрим id uhta
echo $str_uht; //смотрим ярлыки uhta и скрываем их по ярлыку
foreach ( $terms3 as $key => $term ) {
if ( ! in_array( $term->slug, $exclude_terms_uht ) ) {
$new_terms3[] = $term;
}
}
$terms3 = $new_terms3;
}
return $terms3;
}