Intereting Posts
Информация и видео для клиентов в бэкэнд Всегда ли это лучшая практика для развязки Frontend из области администрирования при разработке приложения WordPress? Упрощение wordpress: блокирование / включение с htaccess Vue.js + AJAX Shortcode Какие это крючки? add_action ( 'сор', не удается изменить виджетов после перехода из подпапки в корневую папку Лучшее изображение внутри сообщения Получать сообщения из пользовательского типа сообщений по дочерним категориям родительской категории Как вытащить электронную почту и имя из плагина Flamingo Пакетная загрузка для создания сообщений, каждая с одним изображением, заголовком и основным текстом Какова политика создания темы, которая не поддерживает виджеты / меню? добавить мета-описание в категории и продукты в wordpress Получить фильтр главной категории, чтобы показать фильтр подкатегории Появляется неправильный gravatar? Двадцать тринадцать вопросов get_sidebar

Заказывайте по названию без учета 'the'

В настоящее время у меня есть эпизоды с ТВ-шоу, в которых играют группы, так что, например, у меня есть:

  • Moby
  • Дэнди Уорхолз
  • Чудаки

Мой wp_query выглядит следующим образом:

$loop = new WP_Query(array('post_type' => 'episodio', 'cat' => '9', 'posts_per_page' => 90, 'orderby' => 'title','order' => 'ASC' )); 

Но я хочу их упорядочить в алфавитном порядке, не принимая во внимание «the»:

  • Дэнди Уорхолз
  • Чудаки
  • Moby

В базе данных много записей, поэтому не очень практично и / или эффективно получать все в массив, удалять «the», заказывать еще раз, а затем проходить через массив для отображения данных.

Возможно ли это в WP_Query? Может быть, через фильтр?

Заранее большое спасибо! 🙂

Solutions Collecting From Web of "Заказывайте по названию без учета 'the'"

Если вы используете плагин SEO Ultimate (он популярен, и я рекомендую его использовать), у него есть компонент Slug Optimizer, который удаляет эти типы слов из пост-пули, поэтому, если заголовок сообщения – «The Dandy Warhols», , слизью было бы просто «денди-варлы».

Может быть, просто заказ по почте?

Это не проверено, но вы можете попробовать этот запрос

 "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)))" 

Это не самый эффективный, но он должен выполнить свою работу.

Самый быстрый способ, вероятно, состоит в том, чтобы иметь дополнительный столбец для сообщений с этими определенными словами, разделенными исключительно для сортировки.

$ loop = new WP_Query (array ('post_type' => 'episodio', 'cat' => '9', 'posts_per_page' => 90, 'orderby' => 'title', 'order' => 'DESC' ));

Это приведет к тому, что заголовок сообщения опускается из категории id 9