menex.ru
← Все статьи

Свой фильтр для виджета AE Post Blocks от AnyWhere Elementor Pro

08.08.2019 • Теги: #Elementor #html #jQuery #wordpress

Для WordPress плагин Elementor выполняет большинство задач не прибегая к ковырянию в коде. Но всё же есть моменты, которые Elementor не выполняет без Хуков.

Так виджет AE Post Blocks от плагина AnyWhere Elementor Pro выводит записи именно те которые прописываются в фильтре

И если этот виджет применить для шаблона архива в Elementor, то при переходе по таксономиям (рубрики, теги) записи не фильтруются. Чтобы это исправить есть один хук.

В виджете, в поле Query Filter прописываем название пользовательского фильтра: my_super_filter (можно название любое).

В файл funtions.php для активной темы прописываем следующий код:

function my_super_filer_function($query_args){
    $queried_object = get_queried_object(); // Получаем ID тега
    $term_id = $queried_object->term_id; // Получаем ID тега
    $term = get_term($term_id); // Получаем ID тега
    $query_args[$queried_object->taxonomy] = $term->slug; // фильтруем по таксономии и тегу через SLUG

    return $query_args;
}
add_filter('my_super_filter', 'my_super_filer_function');

И после этого записи фильтруются по рубрикам. Так же можно и фильтровать по тегам. Этот же хук можно применить для виджета — Записи, который входит в плагин Elementor Pro. Для этого во вкладке Запрос, есть поле ID запроса.

О работе этого хука я узнал из документации к AnyWhere Elementor Pro.