在子页面列表中添加指向父页面的链接

时间:2017-12-11 作者:Julien Laroche

我尝试将父页面的链接添加到子页面的工作列表中。每当列表出现时,父页面必须是第一个项目的列表。

这是找到的实际代码here :

//* List child pages [jla_childpages]
function jla_list_child_pages() {
  global $post;
    if ( is_page() && $post->post_parent )
      $childpages = wp_list_pages( \'sort_column=menu_order&title_li=&child_of=\' . $post->post_parent . \'&echo=0\' );
    else
      $childpages = wp_list_pages( \'sort_column=menu_order&title_li=&child_of=\' . $post->ID . \'&echo=0\' );
    if ( $childpages ) {
      $string = \'<ul id="childpages-menu">\' . $childpages . \'</ul>\';
    }
  return $string;
}
add_shortcode(\'jla_childpages\', \'jla_list_child_pages\');
有人知道我如何将其转换为在列表显示时将父页面添加为列表第一项吗?谢谢

1 个回复
最合适的回答,由SO网友:David Sword 整理而成

您可以添加以下内容

//* List child pages [jla_childpages]
function jla_list_child_pages() {
  global $post;

    $parentID = ( is_page() && $post->post_parent ) ? $post->post_parent : $post->ID;
    $parentPost = get_post($parentID);
    $isParentCurrent = (get_the_ID() == $parentID) ? " current_page_item" : \'\';

    $parent = "<li class=\'page_item page-item-{$parentID}{$isParentCurrent}\'><a href=\'".get_permalink( $parentID )."\'>{$parentPost->post_title}</a></li>";

    $childpages = wp_list_pages( "sort_column=menu_order&title_li=&child_of={$parentID}&echo=0" );

    if ( $childpages )
      return \'<ul id="childpages-menu">\' . $parent . $childpages . \'</ul>\';

}
add_shortcode(\'jla_childpages\', \'jla_list_child_pages\');
我还没有测试过,但你所做的只是在做任何事情之前找出父母,并在回报中把父母放在孩子之上。

结束

相关推荐