J'ai actuellement des épisodes d'une émission télévisée mettant en vedette des groupes en train de jouer. Par exemple, j'ai:
Mon wp_query ressemble à ceci:
$loop = new WP_Query(array('post_type' => 'episodio', 'cat' => '9', 'posts_per_page' => 90, 'orderby' => 'title','order' => 'ASC' ));
Mais je veux les commander comme ça, par ordre alphabétique, sans prendre en compte "le":
Il y a beaucoup d'enregistrements dans la base de données, il n'est donc pas très pratique et/ou efficace de tout mettre dans un tableau, de supprimer "le", de réordonner et de parcourir ensuite le tableau pour afficher les données.
Est-ce possible dans WP_Query? Peut-être à travers un filtre?
Merci beaucoup d'avance! :)
Si vous utilisez le plugin SEO Ultimate (c'est populaire et que je recommande de l'utiliser), il contient un composant appelé Slug Optimizer qui supprime ces types de mots de la post-slug, donc si le titre de l'article est "The Dandy Warhols" , la limace serait juste "dandy-warhols".
Peut-être juste commander par la post-limace?
Ceci n'est pas testé, mais vous pouvez essayer cette requête
"SELECT post_title FROM wp_posts ORDER BY IF(LEFT(post_title,2)="A ",SUBSTRING(post_title FROM 3),IF(LEFT(post_title,3)="An ",SUBSTRING(post_title FROM 4),IF(LEFT(post_title,4)="The ",SUBSTRING(post_title FROM 5),post_title)))"
Ce n'est pas le plus efficace, mais cela devrait faire le travail.
Le moyen le plus rapide serait probablement d’avoir une colonne supplémentaire pour les messages avec ces mots supprimés, uniquement pour le tri.
$ loop = new WP_Query (array ('post_type' => 'episodio', 'cat' => '9', 'posts_per_page' => 90, 'orderby' => 'titre', 'order' => 'DESC' ));
Le titre de l'article décroissant de la catégorie id 9