我想从当前类别的特定产品属性中创建过滤器。其概念是,每当用户浏览产品类别时,就会有与当前类别产品中存在的产品属性相对应的过滤器。在示例中,当用户浏览笔记本电脑类别时,我希望显示一组过滤器,因此他可以单击它们并过滤出结果,仅显示具有特定属性的选定产品。
我现在正在研究PHP和WooCommerce,所以到目前为止我还没有得到任何结果。到目前为止,我已经尝试了此代码,但我只获得了想要的特定属性,但是对于所有产品,无论类别如何。之所以起作用,是因为我获得了检查的属性的所有值,并且在单击属性时获得了正确的结果。我知道这段代码中没有“检查当前类别”,因为我不知道该如何编写,并且多次失败以进行正确的检查。
任何帮助将不胜感激。 预先谢谢你
function filters_cpu( $args = array() ) {
$terms = get_terms( 'pa_cpu' );
echo '<ul>';
foreach ($terms as $each_term) {
echo '<li>';
echo '<a href="' . get_term_link( $each_term ) . '">' . $each_term->name . '</a>';
echo '</li>';
}
echo '</ul>';
}
答案 0 :(得分:0)
为什么不使用默认的“按属性过滤”窗口小部件? 这将按您的意愿工作。仅当所显示的产品已为其分配了那些属性时,才会显示过滤器小部件。
我不确定您是否尝试过。
https://docs.woocommerce.com/document/woocommerce-product-search/widgets/product-filter-attributes/
除此默认选项外,还有一个不错的免费woocommerce产品过滤器插件。您也可以尝试这个。