我们可以使用 WP_Query 类来代替 get_pages 方法。下面是一个获取所有子页面并按菜单顺序的示例代码:
$args = array(
'post_type' => 'page',
'posts_per_page' => -1,
'post_parent' => $post->ID,
'orderby' => 'menu_order',
'order' => 'ASC'
);
$query = new WP_Query( $args );
if ( $query->have_posts() ) :
while ( $query->have_posts() ) : $query->the_post();
// 输出子页面的内容或其他操作
endwhile;
wp_reset_postdata();
endif;
这个代码块首先定义了一个包含所有必要参数的数组,然后使用这个数组实例化一个 WP_Query 对象。我们通过这个对象的 have_posts() 和 the_post() 方法循环遍历所有子页面并输出它们的内容或其他操作。最后,我们使用 wp_reset_postdata() 方法重置 post 数据。这种方法是 get_pages 的替代方法,可以在同样的情况下处理子页面数据。