我有一个带有子页面X,Y,Z,D
的父页面A.我想在第X页和第Y页显示指向所有子页面的链接
当您转到第X页和第Y页时,您应该看到所有子页X,Y,Z,D的列表
出于某种原因,我只得到子页面(第D页)
我正在使用此功能。
$args = array(
'sort_order' => 'asc',
'sort_column' => 'post_title',
//'hierarchical' => 1,
'exclude' => '',
'include' => '',
'meta_key' => '',
'meta_value' => '',
'authors' => '',
'child_of' => A,
'parent' => -1,
'exclude_tree' => '',
'number' => '',
'offset' => 0,
'post_type' => 'page',
'post_status' => 'publish'
);
$pages = get_pages($args);
if ( $pages)
{
foreach($pages as $page)
{
$page = '<ul> <li> <a href=" ' . get_page_link( $page->ID ) . '"> ' .$page->post_title . ' </a> </li></ul>';
}
return $page;
}
我做错了什么?
答案 0 :(得分:0)
在该示例中,您未能关闭if语句。你也可以用foreach而不是return来使用echo。我稍微清理了你的代码。
<ul>
<?php
$args = array(
'sort_order' => 'asc',
'child_of' => '1',
'post_type' => 'page',
'post_status' => 'publish'
);
$pages = get_pages($args);
if ($pages) {
foreach ($pages as $page) :
echo ' <li><a href="' . get_page_link($page->ID) . '"> ' . $page->post_title . ' </a></li>';
endforeach;
}
?>
</ul>
答案 1 :(得分:0)
我修好它并且有效
我修改了我的foreach
$links = '';
foreach($pages as $page) {
$links .= '<ul> <li> <a href=" ' . get_page_link( $page->ID ) . '"> ' .$page->post_title . ' </a> </li></ul>';
}
return $links;
在我用之前 $ links =而不是$ links。=