一、目标:
1、父页面显示所有子页面,如果是子页面就显示子页面对应父页面下的所有子页面。
2、选中的子页面链接显示不一样的样式。
二、代码
<?php$current_page_id = get_the_ID(); // 获取当前页面的ID// 判断当前页面是否为父页面$is_parent_page = count(get_pages(array('child_of' => $current_page_id))) > 0;// 获取父页面ID$parent_page_id = $is_parent_page ? $current_page_id : wp_get_post_parent_id($current_page_id);$query = new WP_Query(array('post_type' => 'page', 'post_parent' => $parent_page_id, 'order' => 'ASC'));if ($query->have_posts()) {while ($query->have_posts()) {$query->the_post();// 获取子页面的链接和标题$child_page_id = get_the_ID();$child_page_link = get_permalink();$child_page_title = get_the_title();// 检查当前页面是否为点击的链接$is_current_page = ($current_page_id === $child_page_id);// 设置不同样式的链接if ($is_current_page) {echo '<li class="nav-current"><a href="' . esc_url($child_page_link) . '">' . esc_html($child_page_title) . '</a></li>';} else {echo '<li><a href="' . esc_url($child_page_link) . '">' . esc_html($child_page_title) . '</a></li>';}}}// 重置查询wp_reset_postdata();?>
三、效果