Есть ли какие-либо предложения, как я могу добавить фильтр тегов продукта, непосредственно реализованный на домашней странице веб-сайта woocommerce?
Мне трудно использовать фильтр product-tag
с плагином поиска и фильтрации.
вы используете фильтр pre_get_query для MainQuery Wordpress:
function modify_query($query) {
if ( ! is_admin() && $query->is_main_query() && $query->query_vars['post_type'] == 'product') {
if ( isset( $_GET['tag_product'] ) ) {
$query->set( 'tax_query', array (
array(
'taxonomy' => 'product_tag',
'field' => 'term_id',
'terms' => absint( $_GET['tag_product'] ),
)
));
}
}
}
add_action( 'pre_get_posts', 'modify_query' );
Выпадающий список тегов продукта HTML:
<label><?php _e('Tags'); ?></label>
<form action = "<?php bloginfo('url'); ?>/" method = "get">
<div>
<?php
$args = array(
'taxonomy' => 'product_tag', // Taxonomy to return. Valid values are 'category', 'post_tag' or any registered taxonomy.
'show_option_none' => 'Select tag',
'show_count' => 1,
'orderby' => 'name',
'value_field' => 'slug',
'echo' => 0,
'name' => 'tag_product'
);
$select = wp_dropdown_categories( $args );
$select = preg_replace("#<select([^>]*)>#", "<select$1 onchange='return this.form.submit()'>", $select);
echo $select;
?>
<noscript><div><input type = "submit" value = "Filter" /></div></noscript>
</div>
</form>
пожалуйста, измените форма атрибута действия согласно вашему проекту
как я могу реализовать его в виде раскрывающегося списка? Не могли бы вы немного повести?
Это зависит от того, как ваши продукты отображаются на вашей домашней странице: с шорткодом (какой?) С пользовательским запросом (где ваш код?)… И как вы хотите, чтобы этот фильтр был реализован. Ваш настоящий вопрос очень плохой, без каких-либо подробностей.