Intereting Posts
как я могу определить, что значение параметра изменилось? Функция сортировки Woocommerce не работает Как искать сообщения В ИСТОЧНИКЕ ИЛИ ИЛИ ИЛИ ИЛИ? Как динамически изменять точки текста на пользовательской странице? Сообщения и заказ Как удалить старые сообщения для экономии места? Событие pre_get_posts post_meta Извлечение мета-окна из пользовательского типа Как найти отлаженный плагин wordpress, вызывающий проблемы с производительностью Удаленные страницы НЕ удаляются из пользовательских меню? Пропустить количество изображений в качестве параметра в галерею NextGen Что я могу заменить '.get_bloginfo (' url ').' для возврата текущего URL-адреса вместо домашнего адреса? Должен ли я объявлять функцию add_menu_page моей платформы как приоритет 1 в hook_Admin? Популярные сообщения с Varnish ESI wp_register_sidebar_widget () отключил мое подменю Widgets – что я делаю неправильно?

Изменение порядка сортировки для представления с помощью 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 бесконечной прокрутки"