elseif ( is_single() && ! is_attachment() ) {
if ( get_post_type() == 'product' ) {
echo $prepend;
if ( $terms = get_the_terms( $post->ID, 'product_cat' ) ) {
$referer = wp_get_referer();
foreach( $terms as $term){
$referer_slug = (strpos($referer, $term->slug));
if(!$referer_slug==false){
$category_name = $term->name;
$ancestors = get_ancestors( $term->term_id, 'product_cat' );
$ancestors = array_reverse( $ancestors );
foreach ( $ancestors as $ancestor ) {
$ancestor = get_term( $ancestor, 'product_cat' );
if ( ! is_wp_error( $ancestor ) && $ancestor )
echo $before . '<a href="' . get_term_link( $ancestor->slug, 'product_cat' ) . '">' . $ancestor->name . '</a>' . $after . $delimiter;
}
echo $before . '<a href="' . get_term_link( $term->slug, 'product_cat' ) . '">' . $category_name . '</a>' . $after . $delimiter;
}
}
}
echo $before . get_the_title() . $after;
Ну Вы ведь с какой-то целью это делаете?
Я, лично, считаю, что это некорректно, и что товар должен принадлежать категории 3-го уровня.
Зачем вам тогда вообще разделять на подкатегории? Некорректный подход, но хозяин - барин.Логика проста - по иерархии, если товар принадлежит категории 3го уровня, которая является подкатегорией 2го и 1го уровней, то и товар должен принадлежать более высоким категориям.
У всех крупнейших интернет-магазинов именно так и сделано (товар принадлежит одной подкатегории), и их выдаче в поиске остается только завидовать. Для этого используется меню - с каждой страницы сайта есть ссылка на все категории, в том числе и на подкатегории. Таким образом, пользователю потребуется только найти в меню требуемую подкатегорию и перейти на нее, итого также 1 клик с главной на подкатегорию + 1 клик на сам товар.Если я правильно понимаю, то товар, который принадлежит только категории 3го уровня находится слишком далеко от главной страницы, а следовательно, это плохо влияет на выдачу в поиске.
Зависит от того, по какому принципу формируются url. Если товар доступен только по одному адресу, то страница одна и дублирования нет. Если несколько разных url ведут на одну страницу - тогда это дублирование.С другой стороны - если товар у меня принадлежит сразу трём категориям, хоть и по иерархии, то не будет ли это восприниматься поисковым роботом, как дублированный контент?
Зачем вам тогда вообще разделять на подкатегории? Некорректный подход, но хозяин - барин.
Ну тогда оставьте так, если ссылка одна и не множится, дублирования не будет.Урлы на каждый товар в единственном экземпляре.
не критично, это далеко не самые важные факторы ранжирования, скорее всего такие нюансы учитываются в последнюю очередь, если вообще учитываютсяна сколько это критично или не критично для поисковиков