循环浏览按顺序属性排序的 Wordpress 子页面

Posted

技术标签:

【中文标题】循环浏览按顺序属性排序的 Wordpress 子页面【英文标题】:Cycle Through Wordpress Child Pages Sorting by Order Attribute 【发布时间】:2014-04-23 13:16:20 【问题描述】:

有人知道控制 Wordpress 子页面的顺序吗? “order”属性似乎被忽略了,有利于字母顺序。

<a href="<?php siblings('before'); ?>">Prev</a>
<a href="<?php siblings('after'); ?>">Next</a>

此代码是从此处的另一个答案中提取的,并且可以按预期工作,除了忽略订单属性以支持字母顺序。 (Browsing page siblings through next/previous links)

我觉得我需要的内容类似于 ORDER BY 'menu_order',但我不完全理解语法或将其放置在何处:

function siblings($link) 
    global $post;
    $siblings = get_pages('child_of='.$post->post_parent.'&parent='.$post->post_parent);
    foreach ($siblings as $key=>$sibling)
        if ($post->ID == $sibling->ID)
            $ID = $key;
        
    

【问题讨论】:

【参考方案1】:

这样试试

   $siblings = get_pages(array(
       'child_of' => $post->post_parent,
       'parent' => $post->post_parent,
       'sort_column' => 'menu_order'
));

【讨论】:

这对我来说不太有效,页面根本没有改变。我尝试了 $siblings = get_pages('child_of=&sort_column=menu_order'.$post->post_parent.'&parent='.$post->post_parent ); 使用原始代码,但没有'也不行。【参考方案2】:
function siblings($link) 
    global $post;
    $siblings = get_pages('child_of='.$post->post_parent.'&sort_column=menu_order&parent='.$post->post_parent);
    foreach ($siblings as $key=>$sibling)
        if ($post->ID == $sibling->ID)
            $ID = $key;
        
    

结束了工作。

【讨论】:

以上是关于循环浏览按顺序属性排序的 Wordpress 子页面的主要内容,如果未能解决你的问题,请参考以下文章

WordPress 查询:按年份 DESC 对帖子进行分组,然后在每个组中按月 ASC 发布帖子

在Wordpress中打开父页/子页时显示子页

Wordpress二级菜单子页

列出Wordpress子页

Wordpress-检查子页是否属于父页

在自定义 foreach 循环中按字母顺序对结果进行排序