2017-10-16 4 views
0

J'utilise la fonction wp_dropdown_categories($args) pour afficher/sélectionner certaines catégories. Le paramètre par défaut affiche les titres des catégories dans la liste déroulante par ordre alphabétique ('orderby' => 'name'). Parce que j'ai mon site a une liste d'événements, j'ai 7 catégories, un chaque jour, c'est-à-dire "lundi", "mardi", .... "dimanche".Commander Catégories par commande personnalisée dans wp_dropdown_categories

En raison de 'orderby' => 'name' ces catégories sont classés par ordre alphabétique:
"Dienstag" (mardi), "Donnerstag" (jeudi), etc.

Je veux commander/afficher dans le bon ordre pour les jours de la semaine, c'est-à-dire Commençant par "Montag" (lundi) et se terminant par "Sonntag" (dimanche).

Comment puis-je spécifier une commande personnalisée pour cela?

+0

Avez-vous besoin cet ordre de tri que dans une situation où vous afficher ces options de nom de jour seulement, ou avez-vous besoin de cela lorsque vous montrez toutes les options - et avez seulement ces quelques triés par ordre alphabétique, et le reste par un critère différent? Veuillez donner des exemples précis de ce dont vous avez besoin et où. – CBroe

+0

J'ai besoin de cela seulement pour l'afficher plus fin dans le menu déroulant. il commence dans le haut de la liste déroulante ouverte avec "D" pour Dienstag (mardi) que Donnerstag (jeudi) .... etc. il serait plus fin quand il commencerait avec Montag (lundi) que Dienstag (mardi) etc. –

+0

Si vous êtes prêt à sacrifier tout "dynamisme" et êtes heureux avec une solution statique qui ne fonctionnera que pour votre site, et aussi longtemps Comme vous ne modifiez rien à propos de ces termes existants, vous pouvez simplement aller avec orderby = include, et lister le terme ids dans le tableau/la chaîne 'include' dans le bon ordre. Si vous avez besoin d'être plus flexible que cela, vous pouvez utiliser un plugin comme https://wordpress.org/plugins/taxonomy-terms-order/ qui vous permettra de trier vos termes par glisser-déposer dans le backend, puis vous les commandez dans les requêtes en utilisant orderby = term_order. – CBroe

Répondre

0

vous pouvez changer 'orderby' => 'ID', 'pour' => 'ASC' à wp_dropdown_categories ($ args)

https://developer.wordpress.org/reference/functions/wp_dropdown_categories/

+0

ce serait une possibilité. Mais mes catégories des 7 jours de semaine n'ont pas les ID dans la bonne séquence ... lundi-category-id est supérieur à mardi-catégorie. Ou dimanche-catgegory-id a un identifiant qui est plus petit que le samedi-category-id. Pour cette raison, une commande par ID n'a aucun sens. Ce serait possible, si je pouvais leur donner une carte d'identité. Mais je pense que ce n'est pas facile à faire. –

+0

vous pouvez essayer ce plugin https://wordpress.org/plugins/taxonomy-terms-order/ –