wordpress 单页中子页面列表制作方法

一、目标:

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();
                ?>

三、效果

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值