Добавить фильтр, товар на складе woordpress?

Нужно добавить фильтр товар на складе. Я зарегистрировал виджет для вывода этой кнопочки. Это в отдельном классе Stock_widget.php

public function widget($args, $instance)
{
    echo $args['before_widget'];
    if (!empty($instance['title'])) {
        echo $args['before_title'] . apply_filters('widget_title', $instance['title']) . $args['after_title'];
    }
    echo "<a class='in-stock' href='?filter_stock=true'>" . esc_html__('На складе', 'text_domain') . "</a>";
    echo $args['after_widget'];
}

Идея в том что при нажатии на кнопку, эти товары на странице появлялись и при нажатии фильтр снимался. вот я и передаю '?filter_stock=true', а дальше куда двигаться я не знаю. где я должен принимать этот get параметр, вообщем нужна помощь.


Ответы (1 шт):

Автор решения: WP Punk

Используй хук pre_get_posts:

add_action( 'pre_get_posts', 'my_custom_filter', );
function my_custom_filter( $wp_query ) {
    if ( ! $wp_query->is_main_query() || $wp_query->is_admin() ) {
        return;
    }
    if ( ! isset( $_GET['filter_stock'] ) ) {
        return;
    }
    $wp_query->set( 'your-wp-query-argument-name', 'you-wp-query-argument-value' );
}
→ Ссылка