1

wp_postからmenu_orderでアイテムを注文する必要があります(ページのみ)。私はこの行を書きました:

$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

4

1 に答える 1

1

この問題は、オブジェクトをループで使用する前に$allオブジェクトを通過させているという事実に関連していると言えます。get_page_children

get_page_childrenを忘れて、WP_Query引数のリストに「post_parent」を追加してみませんか?

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

WordpressStackExchangeに関する役立つスレッド。

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

編集。

コメントを拡張します。以下に示すように、menu_orderについて混乱が生じることがあります。これは、wp_nav_menusではなく、[ページ属性の順序]入力ボックスに関連しています。

ここに画像の説明を入力してください

于 2013-02-05T10:29:25.860 に答える