Intereting Posts
Нормально ли для запланированного сообщения говорить «Пропущенный график», Использовать собственный шаблон на определенных URL-адресах Как я могу создать скрипт установки bash для установки моих сайтов WordPress (WP + plugins + theme)? Обнаруживать каждый активный экземпляр виджета Неустранимая ошибка: вызов неопределенной функции add_action () – нетронутая проблема Как вызвать функцию, которая создает таблицу в базе данных (функциональность плагина) Где в функции.php добавить этот код, чтобы отображались уменьшенные изображения? Не удается показать отладки даже после изменения wp-config Как сделать страницы с индексом arent для приложений ajax Каковы некоторые примеры хорошо написанных плагинов, которые иллюстрируют лучшие практики плагинов WordPress? Вставьте сообщение программно и решите чирикать или не чирикать Как получить доступную публикацию для публикации в социальных сетях и показать на отдельных страницах сообщений? Пользовательская HTML-форма с использованием PHP – помощь с проверкой имени ajax / username Как заставить WordPress добавлять новые изображения в начале галереи? Удалить теги из wordpress head

Изменение порядка сортировки для представления с помощью Jetpack бесконечной прокрутки

Я смог использовать фильтры WordPress для posts_join_paged , posts_where и posts_orderby для создания запроса, представляющего набор художников, в которых только художники, у которых есть фамилия, указанная в метаданных post custom-last-name отображаются в списке этой фамилии. Это работает, когда используется как обычная страница с ручным поиском. Тем не менее, он не работает с включенным бесконечным прокруткой Jetpack.

Вот некоторые из деталей в сценарии. Это страница архива для персонализированного типа сообщения «художник». В functions.php меня есть следующее:

 add_filter('posts_join_paged','my_posts_join_paged'); add_filter('posts_where','my_posts_where'); add_filter('posts_orderby', 'my_posts_orderby'); function my_posts_join_paged($join_statement) { global $wp_query; global $wpdb; if ($wp_query->query_vars['post_type'] == 'artist') { $join_statement .= "INNER JOIN $wpdb->postmeta AS meta ON $wpdb->posts.ID = meta.post_id"; } return $join_statement; } function my_posts_where($where_statement) { global $wp_query; global $wpdb; if ($wp_query->query_vars['post_type'] == 'artist') { $where_statement .= "AND meta.meta_key = 'custom-last-name'"; } return $where_statement; } function my_posts_orderby($orderby_statement) { global $wp_query; global $wpdb; if ($wp_query->query_vars['post_type'] == 'artist') { $orderby_statement = "meta.meta_value ASC, $wpdb->posts.post_title ASC"; } return $orderby_statement; } 

Когда бесконечная прокрутка Jetpack включена, первая страница сортируется правильно, но затем последующие страницы не отображаются в порядке имен. Также кажется, что некоторые должности художника полностью пропущены.

Любые идеи о том, как вводить этот вид пользовательской сортировки, ограничиваются только сообщениями определенного типа таким образом, чтобы они работали с бесконечным прокруткой Jetpack?

Существует фильтр Jetpack, называемый infinite_scroll_query_args который может быть полезен, но кажется, что в то время, когда он вызывается, нет ничего, что можно было бы использовать для определения того, нужно ли изменять orderby . Обратите внимание, что на других бесконечных страницах прокрутки на сайте я хочу, чтобы порядок заказов по умолчанию преобладал.

Solutions Collecting From Web of "Изменение порядка сортировки для представления с помощью Jetpack бесконечной прокрутки"