У меня есть блок php-кодов, который я поместил в functions.php на веб-сайте Wordpress, часть которого показана ниже:
add_filter('запрос', 'my_change_term_request', 1, 1 );
функция my_change_term_request($query){
$tax_name = 'ait-items'; // specify you taxonomy name here, it can be also 'category' or 'post_tag'
// Request for child terms differs, we should make an additional check
if( isset( $query['attachment'] ) && $query['attachment'] ) :
$include_children = true;
$name = $query['attachment'];
else:
$include_children = false;
if(isset($query['name'])){ $name = $query['name']; }
endif;
$term = get_term_by('slug', $name, $tax_name); // get the current term to make sure it exists
if (isset($name) && $term && !is_wp_error($term)): // check it here
if( $include_children ) {
unset($query['attachment']);
$parent = $term->parent;
while( $parent ) {
$parent_term = get_term( $parent, $tax_name);
$name = $parent_term->slug . '/' . $name;
$parent = $parent_term->parent;
}
} else {
unset($query['name']);
}
switch( $tax_name ):
case 'category':{
$query['category_name'] = $name; // for categories
break;
}
case 'post_tag':{
$query['tag'] = $name; // for post tags
break;
}
default:{
$query[$tax_name] = $name; // for another taxonomies
break;
}
endswitch;
endif;
return $query;
}
Эта строка кода генерирует предупреждение или уведомление об ошибке в Wordpress:
$term = get_term_by('slug', $name, $tax_name);
нравится:
Примечание: Неопределенная переменная: имя в /wp-content/themes/businessfinder2-child/functions.php в строке 595.
Я попытался заменить приведенную выше строку на:
$term = get_term_by('slug', if(isset($name)) { echo '$name'; }, $tax_name);
OR:
$term = get_term_by('slug', if(isset($query['name'])) { echo $name; }, $tax_name);
Ни одна из вышеперечисленных замен не работает.
Очень ценю любые советы.