以下のようにget_children
関数でorderby
パラメータを使用しようとしています。
$navigation = get_children(array(
'post_parent' => $parent->ID,
'orderby' => 'menu_order'
));
しかし、結果には影響しません。まだデフォルトの作成日で並べ替えています。
何か案は?
この特定の機能が必要ですか?ドキュメンテーション(コーデックスとインラインの両方)は非常に混乱します。そしておそらくそれは添付ファイルのようなものをフェッチします、それはおそらくナビゲーションには関係がありません...
これを試して:
get_posts( array(
'post_type' => 'page',
'post_parent' => $parent->ID,
'orderby' => 'menu_order'
) );
get_children()
は実際にはget_children()
のラッパーにすぎず、デフォルトの設定が異なるため、'orderby'
引数はget_posts()
と連携する必要があります。メニューの順序は、ページを編集するときに ページ属性 メタボックスで指定された 順序 を参照します。カスタムメニューをソートした順序ではありません。
$args
でget_children
を使用することができますが、たとえそれがあなたが望む現在のページの子供であっても、あなたが子供を取得したい投稿IDも指定するようにしてください。
get_children( array(
'post_parent' => $post->ID,
'orderby' => 'menu_order',
'order' => 'ASC'
));