将 active class 添加到菜单项 - 不是用 wordpress 创建的菜单,自定义菜单
Add active class to the menu item - not menu created with wordpress, custom menu
我有一个用这段代码创建的菜单
<?php
$pages = get_pages('child_of= 8&sort_column=post_date&sort_order=asc&parent=8');
foreach($pages as $page) {
?>
<li><a href="<?php $permalink = get_permalink($page->ID);
echo $permalink ; ?>"><?php echo $page->post_title ?></a></li>
<?php } ?>
有了这个,我得到了 Main about Page 的子页面。我需要根据我所在的页面(使用上面的代码创建的菜单)在此项目中添加活动 class。
您需要在 class=''
中使用以下行
If(get_the_ID()==$page->ID) echo 'class="active"';
将此添加到您的 <li>
(或 <a>
,如您所愿)标签中:
<?php if ( get_the_ID() == $page->ID ) echo ' class="active"'; ?>
您只需使用 is_page() 来测试用户是否访问了您菜单中的活动页面即可:
<?php
$pages = get_pages('child_of= 8&sort_column=post_date&sort_order=asc&parent=8');
foreach ( $pages as $page ) {
if ( is_page( $page->ID ) ) {
$active = 'class="active"';
} else {
$active = '';
}
echo '<li '.$active.'><a href="'.get_permalink($page->ID).'">'.$page->post_title.'</a></li>';
}
?>
我有一个用这段代码创建的菜单
<?php
$pages = get_pages('child_of= 8&sort_column=post_date&sort_order=asc&parent=8');
foreach($pages as $page) {
?>
<li><a href="<?php $permalink = get_permalink($page->ID);
echo $permalink ; ?>"><?php echo $page->post_title ?></a></li>
<?php } ?>
有了这个,我得到了 Main about Page 的子页面。我需要根据我所在的页面(使用上面的代码创建的菜单)在此项目中添加活动 class。
您需要在 class=''
中使用以下行If(get_the_ID()==$page->ID) echo 'class="active"';
将此添加到您的 <li>
(或 <a>
,如您所愿)标签中:
<?php if ( get_the_ID() == $page->ID ) echo ' class="active"'; ?>
您只需使用 is_page() 来测试用户是否访问了您菜单中的活动页面即可:
<?php
$pages = get_pages('child_of= 8&sort_column=post_date&sort_order=asc&parent=8');
foreach ( $pages as $page ) {
if ( is_page( $page->ID ) ) {
$active = 'class="active"';
} else {
$active = '';
}
echo '<li '.$active.'><a href="'.get_permalink($page->ID).'">'.$page->post_title.'</a></li>';
}
?>