В настоящее время я делаю следующее в моей теме WordPress,
<?php
$pagelist = wp_list_pages( array(
'include' => '154, 136',
'title_li' => '',
'sort_column' => 'ID',
'sort_order' => 'DESC',
'depth' => '0',
'echo' => false
));
if($post->post_type == "casestudy") {
$args = array( 'post_type' => 'casestudy');
$case_studies = new WP_Query( $args );
$casestudylist = "";
foreach ($case_studies->posts as $k => $v) {
$active = "";
if($v->post_status == "publish") {
if($v->ID == $post->ID)
{
$active = "current_page";
}
$casestudylist .= "<li class='subnav ".$active."'><a href=".$v->guid.">". substr($v->post_title, 0, strpos($v->post_title, ':')) ."</a></li>";
}
}
}
$testimonials = wp_list_pages( array(
'include' => '318',
'title_li' => '',
'sort_column' => 'ID',
'sort_order' => 'DESC',
'depth' => '1',
'echo' => false
));
//die(print_r($casestudylist));
$concatenatedlist = $pagelist . $casestudylist . $testimonials;
?>
<aside class="secondary">
<nav>
<ul>
<?php echo $concatenatedlist; ?>
</ul>
</nav>
</aside>
Это создает навигацию и создает впечатление, что у страницы есть дочерние элементы, созданные с использованием пользовательских типов записей. Проблема в том, что если я смотрю на сообщение из $casestudylist
, мне нужно каким-то образом добавить активный класс к первой ссылке, полученной из $pagelist
, даже если они не связаны между собой. Я не против, если это решение JQuery. По сути, если элемент в моем casestudylist
активен, мне нужно пометить ссылку на конкретный пример также как активную.
Вот HTML-код, который создает PHP.
<aside class="secondary">
<nav>
<ul>
<li class="page_item page-item-154">
<a href="/clients">Clients</a>
</li>
<li class="page_item page-item-136">
<a href="/case-study">Case Study</a
</li>
<li class="subnav current_page">
<a href="/?post_type=casestudy&p=161">Brenntag</a>
</li>
<li class="subnav ">
<a href="/?post_type=casestudy&p=104"></a>
</li>
<li class="subnav ">
<a href="?post_type=casestudy&p=65"></a>
</li>
<li class="page_item page-item-318">
<a href="/testimonials">Testimonials</a>
</li>
</ul>
</nav>
</aside>