我必须通过menu_order(仅限页面)从wp_post订购商品。 我写过这一行:
$query = new WP_Query();
$all = $query -> query(array('post_type' => 'page', 'posts_per_page' => -1, 'orderby' => 'menu_order', 'order' => 'DESC'));
$children = get_page_children($id, $all);
foreach ($children as $child) {
if ($child -> ID == get_the_id()) {
echo '<li class="active"><a href="' . get_permalink($child -> ID) . '">' . $id . $child -> post_title . '</a></li>';
我看到了这些物品,但没有订购。
感谢。 FZ
答案 0 :(得分:1)
我想说这个问题与你在$all
对象通过get_page_children
之前传递的事实有关,然后才在循环中使用它。
为什么不要忘记get_page_children并添加&#39; post_parent&#39;到你的WP_Query参数列表?
$all = $query->query(array('post_type' => 'page', 'post_parent' => $id, 'posts_per_page' => -1, 'orderby' => 'menu_order', 'order' => 'DESC'))
Wordpress Stack Exchange上的一个有用的主题;
修改强>
扩展评论。有时会出现关于menu_order的混淆 - 它与wp_nav_menus无关,而与Page Attributes Order输入框有关,如下所示;