2013-02-05 137 views
1

我必須通過menu_order(僅限頁面)從wp_post訂購商品。 我寫這行:WP_Query()和訂購商品

$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

回答

1

我會說這個問題涉及到你在通過$all對象通過get_page_children之前在循環中使用它的事實。

爲什麼你不忘記get_page_children並將'post_parent'添加到WP_Query參數列表中?

$all = $query->query(array('post_type' => 'page', 'post_parent' => $id, 'posts_per_page' => -1, 'orderby' => 'menu_order', 'order' => 'DESC')) 

一個有用的線程在Wordpress堆棧交換;

https://wordpress.stackexchange.com/questions/35123/wp-get-all-the-sub-pages-of-the-parent-using-wp-query

編輯。

展開評論。有時會出現菜單命令混淆 - 它與wp_nav_menus無關,而是與頁面屬性命令輸入框相關,如下所示;

enter image description here

+0

還不行 – user2042663

+0

蠢問題,我知道 - 你已經使用數字輸入字段在頁面屬性對話框中的每個頁面實際上責令這些子頁面?我只問,因爲有些人認爲'menu_order'涉及'wp_nav_menus'。 – McNab

+0

我認爲代碼將menu_order解釋爲字符串,而不是數字......只是猜測。 – user2042663