it-swarm.com.de

wp_query zum Anzeigen von Anhängen mit einem Tag

Also führe ich die folgende Abfrage aus:

<?php
    $args = new WP_Query(array(
        'post_type' => 'attachment',
        'posts_per_page' => -1,
        'oderby' => 'title',
        'order' => 'ASC',
        'post_status' => 'any',
        'post_parent' => null,
        'tax_query' => array(
            array(
                'taxonomy' => 'post_tag',
                'field' => 'slug',
                'terms' => 'logo'
            )
        )
    ));

    while ( $args->have_posts() ) : $args->the_post();

?>

Ein Problem, das ich ansprechen muss, ist eine bessere Sortiermethode für die Anhänge. Derzeit kann ich es nur per Titel ASC oder DESC bekommen. Mir sind die anderen orderby-Attribute bekannt, die mit WP_Query verfügbar sind, aber anscheinend funktionieren nicht alle. Ich habe mich gefragt, ob jemand eine Möglichkeit kennt, das Upload-Datum von Bildern in der Medienbibliothek zu ändern, da ich dann meine Abfrage so ändern könnte, dass sie nicht mehr aktuell ist. Wir können einfach die Daten der Bilder bearbeiten, um zuerst neuere Bilder anzuzeigen. Alle Ideen, die mir dabei helfen könnten, dies besser manuell zu steuern, wären großartig.

Vielen Dank!

2
Danny

Also, nachdem ein bisschen mehr gegraben wurde, konnte ich es herausfinden. Mit dem Plugin "Erweiterte benutzerdefinierte Felder" habe ich ein Textfeld erstellt, das in Anhängen mit bestimmten Tags angezeigt wird. Jetzt können Sie einen Wert zuweisen und ich habe meine WP_Query aktualisiert, um Folgendes widerzuspiegeln:

<?php   
    $args = new WP_Query(array(
        'post_type' => 'attachment',
        'posts_per_page' => -1,
        'oderby' => 'meta_value_num',
        'order' => 'ASC',
        'post_status' => 'any',
        'post_parent' => null,
        'meta_query' => array(
            array(
                'key' => 'logo_sort_order'
            )
        ),      
        'tax_query' => array(
            array(
                'taxonomy' => 'post_tag',
                'field' => 'slug',
                'terms' => 'logo'
            )
        )
    ));

    while ( $args->have_posts() ) : $args->the_post();

?>

Hoffe das hilft jemand anderem.

1
Danny