Я использую WP Grid Builder и хочу предварительно отфильтровать фильтр сетки. В основном я пытаюсь настроить фильтр по умолчанию на определенную категорию c, а не на все. У меня есть код, который работает, но когда я его добавляю, он ломает WordPress.
Обычно я добавляю этот код к функциям. php:
<?php
function prefix_filter_query( $query_string, $grid_id, $action ) {
// If the content is not filtered on first render.
if ( 'render' === $action && empty( $query_string ) ) {
$query_string = [
'project_types' => [ 'featured-projects' ],
];
}
return $query_string;
}
add_filter( 'wp_grid_builder/facet/query_string', 'prefix_filter_query', 10, 3 )
?>
Когда я это делаю, если я go на страницы, сообщения и т. Д. c. он говорит, что у меня нет страниц / сообщений, но в верхней части, где обычно появляется список, говорится, что опубликовано 40 страниц, я просто не могу их перечислить. Если я удалю приведенный выше код из functions. php, все они будут перечислены. Я удалил все плагины и вернулся к теме двадцать семнадцать, и она все еще работает. Разработчик плагина заявляет, что не может воспроизвести проблему. Я пытаюсь найти обходной путь, если только кто-то не видит, что вызывает эту проблему в приведенном выше коде.
Мои идеи: 1. Я создал файл. php с приведенным выше кодом и загрузил его в каталог плагинов (mysite.com/wp-content/plugins/wp-grid-builder/prefilter.php). Плагин Gridbuilder имеет настраиваемую область Javascript, которую я могу использовать для вызова файла. php и его запуска, но я не знаю, как это сделать. Может ли кто-нибудь помочь мне запустить файл. php из JS?
Преобразуйте приведенный выше код PHP в Javascript и добавьте его в область JS в плагине. Я не очень разбираюсь в JS, чтобы знать, как это сделать. Будет ли это лучше или хуже, чем # 1?
Заранее спасибо!