将所有父页面及其子页面显示在与当前查看页面相同的作者下方

时间:2017-01-12 作者:joelybristol

我正在尝试在我的页面模板上创建一个部分,该部分显示所有父(顶层)页面及其子页面,但仅由当前查看页面的同一作者在下面列出。

下面我有一段代码片段,perfect在下面显示顶级页面及其子页面,但需要对其进行调整,使其仅显示来自同一作者的页面。

我还需要确保它也显示当前查看的页面。

有什么简单的东西可以添加到我下面的内容中吗?

<?php
$args = array(
\'sort_column\' => \'menu_order\',
\'parent\' => 0,
);
$pages = get_pages($args);
foreach($pages as $page){
?>
<ul>
    <li>
    <?php 
    echo \'<a href="\' . get_permalink( $page->ID ) . \'">\' . $page-  >post_title . \'</a>\';
    ?>  
    </li>
    <?php  
    wp_list_pages(\'title_li=&depth=0&child_of=\'.$page->ID.\'\');
    ?>  
</ul>
<?php
}
?> 
然后,我还希望每个父页面都有自己的类,而不包括页面的实际链接,然后子页面成为上述类的子项,这样我可以创建所有用户父页面和子页面的下拉列表。

谢谢

1 个回复
SO网友:joelybristol

对于任何寻找相同解决方案的人来说,我已经找到了答案(除了为父类和子类添加不同的类之外,不幸的是这会将父类与其子类放在同一个嵌套中,但使用css和query将无法区分这些。

这是代码;

<?php
global $authordata, $post;
$authors_posts = get_posts( array(
\'author\' => $authordata->ID,
\'post_parent\' => 0,
\'orderby\' => \'menu_order\',
\'post_type\' => \'page\',
\'posts_per_page\' => 5 ) );


foreach ($authors_posts as $post)  {
?>

<ul> poo
    <li>
    <?php 
    echo \'<a href="\' . get_permalink( $post->ID ) . \'">\' . $post-  >post_title . \'</a>\';
    ?>  
    </li>
    <?php  
    wp_list_pages(\'title_li=&depth=0&child_of=\'.$post->ID.\'\');
    ?>  
 </ul>
 <?php
 }

 ?>