web-dev-qa-db-ja.com

`get_children()`の結果をどうやってソート(順序付け)するのですか?

画像を含む投稿があります。id 19、12、10の画像を例にします。最初に画像19、最初の12の下に12、最後の画像として10を添付し、それらを取得する必要があります。私

$post_images = get_children( array(
    'post_parent' => $id,
    'post_status' => 'inherit',
    'post_type' => 'attachment',
    'post_mime_type' => 'image',
));

しかし、私はそれらをid(10,12,19)でソートして受け取ります。

get_children のドキュメントは(この回答の時点では)素晴らしいものではありませんが、get_childrenget_posts() のラッパーです。これは、orderbyorderがクエリの有効な引数であることを意味します。

" どうやって私は必要な順番でそれらを手に入れます "、あなたは 有効なorderby値でそれらを順序付けたいプロパティです ?もしそうなら、あなたの関数呼び出しはこのようになるでしょう:

$post_images = get_children( array(
    'post_parent' => $id,
    'post_status' => 'inherit',
    'post_type' => 'attachment',
    'post_mime_type' => 'image',
    'orderby' => 'title'
    'order' => 'ASC',
));
1
Jared Cobb

私が理解しているならば、あなたはあなたがそれらをアップロードしたのと同じ順序で添付ファイルを入手したいです。この場合、日付順に並べ替えることができます。

$args = array(
    'orderby'          => 'date',
    'order'            => 'ASC',
    'post_type'        => 'attachment',
    'post_mime_type'   => 'image',
    'post_parent'      => $id,
    'post_status'      => 'inherit',
);
$posts = get_posts( $args ); 

これは添付ファイルを日付順に並べ替えます。おそらくあなたが探しているものでしょう。

1
Jack Johansson