Dans cette image,
1. Les lettres noires sont les titres de publication par défaut
2. Le nombre précédant le 'de' est un champ personnalisé.
3. Le numéro après l'année est l'année de publication de la publication
Maintenant, je veux trier ceci selon l'ordre alphabétique du titre. Ce sera donc,C, D, D, Ldans ce cas.
Dans le même temps, je souhaite qu’il soit trié par année. Tous les articles commençant par "D" doivent donc être triés par année.
De plus, les numéros précédant 'de' doivent être triés par ordre croissant au cours de cette année.
Le morceau de code ci-dessous n'a pas fonctionné
$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',
),
);
Où est-ce que je fais l'erreur? et y a-t-il des solutions pour y parvenir?
EDIT:
Donc, fondamentalement, je veux ça ...
Donc, cette image est triéepar ordre alphabétique, en même temps, toutes les publications doivent êtretriées de la dernière année à la plus ancienne, en attendant, disons qu'il y a plusieurs publications la même année. IE: 16 de 2016, 23 de 2016 et 18 de 2016. Je souhaite qu'ils soient commandés dansordre croissant.
En conclusion, je veux que les messages soient commandés,
Alphabétiquement
(Dans l'ordre alphabétique) annuel
(D'ici à l'année commandée) numériquement
En même temps.
Dans un monde pacifique, les messages triés devraient ressembler à ceci
Je ne suis pas tout à fait à 100% de l'ordre que vous souhaitez atteindre, mais je pense que vous devez passer un peu plus de temps avec la documentation de WP_Query
. Un tableau orderby
prend le nom d'une colonne de la table wp_posts
OR meta_value
ou meta_value_num
en tant que clé,notle nom de la clé de champ personnalisé (custom_key
dans votre cas) . Le nom réel du champ personnalisé est défini dans le tableau args en tant que meta_key
.
Si vous examinez les deux derniers exemples sous Paramètres Orderby dans le Codex , vous pouvez voir comment cela fonctionne et l’appliquer à votre situation. Ceci n’a pas été testé, mais vous donne l’idée générale:
$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',
);
Votre code meta_query
étant également mal configuré, je vous suggère donc de consulter également cette partie de la documentation WP_Query
.