it-swarm.com.de

Wie sortiere (ordne) ich die Ergebnisse von `get_children ()`?

Ich habe einen Beitrag, der Bilder enthält, sagen wir Bild mit der ID 19, 12, 10. Ich füge Bild 19 zuerst, 12 unter dem ersten und 10 als letztes hinzu und muss sie abrufen. ich

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

Aber ich erhalte sie sortiert nach ID (10,12,19), wie ich sie mit der Bestellung bekommen, wie ich brauchte

Die Dokumentation für get_children ist zum Zeitpunkt der Beantwortung dieser Frage nicht besonders gut, jedoch ist get_children einfach ein Wrapper für get_posts() . Dies bedeutet, dass orderby und order gültige Argumente für Ihre Abfrage sind.

Wenn Sie fragen, " wie bekomme ich sie mit der Bestellung nach Bedarf ", ist die Eigenschaft, die Sie sie von einem gültigen orderby Wert bestellen möchten ? Wenn ja, könnte Ihr Funktionsaufruf so aussehen:

$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

Wenn ich verstanden habe, möchten Sie den Anhang in der Reihenfolge abrufen, in der Sie ihn hochgeladen haben. Sie können sie nach Datum sortieren, in diesem Fall:

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

Dadurch werden Ihre Anhänge nach dem Datum sortiert, nach dem Sie wahrscheinlich suchen.

1
Jack Johansson