Я настраиваю новый веб-сайт Wordpress / Woocommerce, используя тему Avada.Сайт еще не запущен.
В магазине есть пользовательские таксономии товаров, и поскольку некоторые имена таксономий содержат запятую, мне пришлось найти фрагмент кода, чтобы сделать обходной путь в PHP, чтобы запятая отображалась без разделения имени таксономии надва отдельных имени (например, Bouncy Balls, Putty и Slime).PHP, который я обнаружил, заменил двойную черту (-) на запятую в передней части, которая, кажется, работает как надо.
Моя проблема в том, что, поскольку я добавил этот код, я получаюошибка в верхней части страницы на отдельных страницах продукта:
Примечание: попытка получить свойство 'таксономия' необъекта в /var/sites/a/mywebsite.com/public_html/wpnew/wp-content/themes/Avada-Child-Theme/functions.php в строке 32
Код строки 32:
if( $tag_arr->taxonomy == 'post_tag' && strpos( $tag_arr->name, '--' ) ) {
Весь код, который я вставил в функции.php ниже.
Я не уверен, что попытаться это исправить, так как это все для меня в новинку, и я учусь по ходу дела.У меня очень мало знаний о PHP, кроме фрагмента, который я нашел в Интернете и разместил здесь.
if( !is_admin() ){
function comma_tag_filter( $tag_arr ){
$tag_arr_new = $tag_arr;
if( $tag_arr->taxonomy == 'post_tag' && strpos( $tag_arr->name, '--' ) ) {
$tag_arr_new->name = str_replace( '--', ', ', $tag_arr->name );
}
return $tag_arr_new;
}
add_filter( 'get_post_tag', 'comma_tag_filter' );
function comma_tags_filter( $tags_arr ) {
$tags_arr_new = array();
foreach( $tags_arr as $tag_arr ) {
$tags_arr_new[] = comma_tag_filter( $tag_arr );
}
return $tags_arr_new;
}
add_filter( 'get_terms', 'comma_tags_filter' );
add_filter( 'get_the_terms', 'comma_tags_filter' );
}
Я ожидал, что этот код будет работать без ошибок, но у меня есть сообщение об ошибке в верхней части страниц продукта..
Спасибо за любую помощь