Sortieren von Beiträgen nach mehreren Werten, kombiniert

Beispielbild zum Sortieren der Referenz

In diesem Bild

1. Die schwarzen Buchstaben sind Standardposttitel

2. Die Zahl vor dem ‘ von ‘ ist ein benutzerdefiniertes Feld.

3. Die Nummer nach dem Jahr ist das veröffentlichte Jahr der Post

Jetzt möchte ich das nach der alphabetischen Reihenfolge des Titels sortieren. So wird es in diesem Fall C, D, D, L sein .

Gleichzeitig möchte ich, dass es nach Jahren sortiert wird. Daher sollten alle Posts, die in ‘D’ beginnen, nach Postjahr sortiert sein.

Auch die Nummern, die vor dem ‘ of ‘ stehen, sollten innerhalb dieses Jahres in aufsteigender Reihenfolge sortiert werden.

Der folgende Codeabschnitt funktionierte nicht

$args = array( 'posts_per_page' => 30, 'category__in' => $idObj, 'paged' => $paged, 'meta_query' => array( 'relation' => 'AND', 'custom_key' => array( 'key' => 'original_act_ordinance_information_0_act_ordinance_number', 'compare' => 'EXISTS', 'type' => 'NUMERIC', ), ), 'orderby' => array( 'title' => 'ASC', 'post_date' => 'DESC', 'custom_key' => 'ASC', ), ); 

Wo mache ich den Fehler? und gibt es dafür Lösungen?

BEARBEITEN:

Alphabetisch sortiert

Also im Grunde will ich das …

Also ist dieses Bild alphabetisch sortiert, gleichzeitig sollen alle Beiträge vom letzten Jahr bis zum Ältesten sortiert werden, während es im selben Jahr mehrere Beiträge gibt. IE: 16 von 2016, 23 von 2016 und 18 von 2016. Ich will, dass sie in aufsteigender Reihenfolge bestellt werden .

Abschließend möchte ich, dass die Posts bestellt werden,

  1. Alphabetisch

  2. (In alphabetischer Reihenfolge) Jährlich

  3. (Innerhalb des Jahres bestellt) Numerisch

Gleichzeitig.

In einer friedlichen Welt sollten die sortierten Beiträge so aussehen

Was genau ich wollte

Solutions Collecting From Web of "Sortieren von Beiträgen nach mehreren Werten, kombiniert"

Ich bin nicht zu 100% in der Reihenfolge, die Sie erreichen WP_Query , aber ich denke, Sie müssen etwas mehr Zeit mit der Dokumentation für WP_Query . Ein orderby Array übernimmt den Namen einer Spalte in der Tabelle wp_posts ODER meta_value oder meta_value_num als Schlüssel, nicht den Namen des benutzerdefinierten Feldschlüssels (in Ihrem Fall custom_key ). Der tatsächliche Name des benutzerdefinierten Felds wird im Array args als meta_key .

Wenn Sie sich die letzten zwei Beispiele unter Orderby Parameters im Codex ansehen , können Sie sehen, wie das funktioniert und es auf Ihre Situation anwenden. Dies ist nicht getestet, aber gibt Ihnen die allgemeine Idee:

 $args = array( 'posts_per_page' => 30, 'category__in' => $idObj, 'paged' => $paged, 'meta_query' => array( array( 'key' => 'original_act_ordinance_information_0_act_ordinance_number', 'compare' => 'EXISTS', 'type' => 'NUMERIC', ), ), 'orderby' => array( 'title' => 'ASC', 'post_date' => 'DESC', 'meta_value_num' => 'ASC', ), 'meta_key' => 'original_act_ordinance_information_0_act_ordinance_number', ); 

Du hast deine meta_query auch falsch eingerichtet, also schlage ich vor, dass du auch diesen Teil der WP_Query Dokumente WP_Query .