我正在使用以下代码使用get_pages添加锚链接,这非常有用。
<?php
if ( is_post_type_archive('archive') ) {
$args = array(
'post_type'=> 'archive',
'parent' => 0,
'sort_order' => ASC,
'sort_column' => 'menu_order'
);
$mypages = get_pages($args);
?>
<ul class="archive-list-pages">
<?php foreach( $mypages as $page ) {
?>
<li>
<a href="#<?php echo $page->post_name; ?>"> <?php echo $page->post_title; ?></a>
</li>
<?php
}
?>
</ul>
<?php
}
?>
然而,我正在尝试添加'current_page_item'类并且无法弄清楚如何做到这一点,我已经尝试将h语句添加到href,但是无法解决我所缺少的问题。
任何帮助都非常感激。
由于
<li>
<a class="<?php if ($page->ID == $page->post_name) echo 'class="current_page_item"'?>" href="#<?php echo $page->post_name; ?>"><?php echo $page->post_title; ?></a>
</li>
更新:使用jQuery最后添加活动类。看下面的答案。
答案 0 :(得分:1)
你的php if语句是否关闭
<li>
<a class="<?php if (is_page($page->ID)) echo 'class="current_page_item"'?>" href="#<?php echo $page->post_name; ?>"><?php echo $page->post_title; ?></a>
</li>
答案 1 :(得分:0)
对于其他可能有帮助的人。我使用了一些jQuery来实现这一点,最后在选择跳转链接后添加一个活动类。
$(document).ready(function() {
$("ul.archive-list-pages a").click(function () {
$("a").removeClass("active");
$("a.active").removeClass("static");
$(this).addClass("active");
});
});