а карточка товара это что? разве не страница самой записи.
В чем вопрос?
Вроде уже все подсказали.
Для cat_is_ancestor_of( 36, $child_cat_id )) нужно получить ид текущей категории
$child_cat_id= get_query_var('cat');
Вы хоть ид 1640 на свой заменили?
По первому вопросу
<?php
$myid = '1640';
$cat = get_the_terms($post->ID,'category');
foreach($cat as $cats) {
if($cats->term_id ==$myid) { echo 'принадлежит';}
}
?>
2) для какой подкатегории, откуда она берется?
Это просто темы для вп такие тормознутые, особенно платные. В коде 60 скриптов грузится и 60 таблиц стилей, аш браузер подвисает. Некоторые темы для пробы ставил, там на пустом сайте больше 150 запросов к базе делают и скорость генерации страницы больше 2 секунд.
Это я к тому, что сам ВП не виноват.
У меня тоже доски объявлений, даже не знаю что делать, хоть сноси все.
Решил оставить только размещение компаниям, (не знаю будет это считаться персональными данными или нет?).
Все формы обратной связи и комменты убрал.
Пользовательское соглашение заказал (накатали текста на 17 000 символов).
Как это на самом деле? не знаю!
Может поможет window.history.replaceState
Динамически менять урл, по крайней мере так можно загружать последнюю страницу пагинации, если вернуться назад из объявления.
так можно тогда попробовать
<div class="crumbs" xmlns:v="http://rdf.data-vocabulary.org/#"><span typeof="v:Breadcrumb"><a rel="v:url" property="v:title" href="http://сайт.com/" >Главная</a></span> / <?php$args=array('orderby' => 'count', 'order' => 'DESC');$terms = wp_get_post_terms( $post->ID , 'category', $args);$recc = array_pop($terms);echo '<span typeof="v:Breadcrumb"><a rel="v:url" property="v:title" href="'.get_category_link($recc->term_id ) .'" >' . $recc->name.'</a></span>'; ?> / <?phpecho '<span class="current">'.the_title().'</span>'; ?></div>
<div class="crumbs" xmlns:v="http://rdf.data-vocabulary.org/#"><span typeof="v:Breadcrumb"><a rel="v:url" property="v:title" href="http://сайт.com/" >Главная</a></span> / <?php$terms = get_the_terms($post->ID,'category');$list = '';$find_parent = 0;for( $i = 0; $i < sizeof($terms); ++$i) { foreach ($terms as $term) { if ($term->parent == $find_parent) { $find_parent = $term->term_id;$list = '<span typeof="v:Breadcrumb"><a rel="v:url" property="v:title" href="'.get_category_link($term->term_id ) .'" >' . $term->name.'</a></span>'; } }echo $list;}?> / <?phpecho '<span class="current">'.the_title().'</span>'; ?></div>
Без основной рубрики чтоли? т.е. без всей цепочки
Для правильной последовательности подрубрик в крошках
Способ номер раз:
<?php$terms = get_the_terms($post->ID,'category');$sep = '';$list = '';$find_parent = 0;for( $i = 0; $i < sizeof($terms); ++$i) { foreach ($terms as $term) { if ($term->parent == $find_parent) { $find_parent = $term->term_id; $list .= $sep . '<span typeof="v:Breadcrumb"><a rel="v:url" property="v:title" href="'.get_category_link($term->term_id ) .'" >' . $term->name.'</a></span>'; $sep = ' › ';//разделитель } }}echo "$list";?>
Способ номер два:
<?php$cnt = 0;$args=array('orderby' => 'count', 'order' => 'DESC');$terms = wp_get_post_terms( $post->ID , 'category', $args);foreach($terms as $term) {if ($cnt>0) $regregy .= ' / ';//разделитель$regregy .= '<span typeof="v:Breadcrumb"><a rel="v:url" property="v:title" href="'.get_category_link($term->term_id ) .'" >' . $term->name.'</a></span>'; ++$cnt;}echo $regregy;?>
Во втором способе сортировка по количеству постов в категории. в родительской постов больше(хотя не всегда)