- 22, Oct 2024
- #1
У меня есть несколько пользовательских типов сообщений, каждый из которых имеет одну или несколько пользовательских таксономий. Я хотел бы добавить фильтр для каждой таксономии на экран редактирования соответствующего пользовательского типа сообщения, но мое решение не работает.
Проблема
Во-первых, я знаю, почему запрос терпит неудачу, но я не знаю, что является причиной такого построения запроса.
Когда я проверяю
query after filtering a post type I notice that the conditionpost_tag
category
существует, что, конечно, никогда не будет правдой.
Мое (сломанное) решение
Для вывода различных фильтров я использую класс, который можно найти в это Пастебин.
Чтобы инициировать класс, я использую этот код (здесь он урезан только для одного типа сообщения и таксономии, на которую я буду ссылаться для простоты в оставшейся части этого вопроса) –
$wp_query
Фильтры отображаются отлично, однако при использовании любого из них WP не возвращает результатов.
Мое расследование
Я изучил полученный результат query.php
global and I notice that WP is actually adding [tax_query] => WP_Tax_Query Object
(
[queries] => Array
(
[0] => Array
(
[taxonomy] => file_type
[terms] => Array
(
[0] => 22
)
[field] => slug
[operator] => IN
[include_children] => 1
)
)
[relation] => AND
[table_aliases:protected] => Array
(
)
[queried_terms] => Array
(
[file_type] => Array
(
[terms] => Array
(
[0] => 22
)
[field] => slug
)
)
[primary_table] => fgw_posts
[primary_id_column] => ID
)
к tax_query
and query_var
массивы и query
array appears to be created correctly.
Однако, как упоминалось ранее, WP по какой-то причине неправильно строит запрос, а это означает, что результаты не найдены.
[file_type] => 22
Мой вопрос
Что дальше? Где я могу найти решение этой проблемы? я пролистал $wp_query
, but I'm nore really sure what I'm looking for.
Я искренне озадачен таким поведением, особенно при сравнении результирующих add_action('init', 'fgw_filter_taxonomies');
function fgw_filter_taxonomies(){
new FGW_CPT_Taxonomy_Filter(
array('file' => array('file_type'))
);
}
global to that generated when filtering the builtin AND (1=0)
или $wp_global
texonomy seems identical (other than the name of the taxonomy of course).
#wp-query #custom-taxonomy