如何解决获得与woocommerce面包屑相同的类别
我有多个产品类别,但是woocommerce面包屑只选择一个行来显示。我想遵循他的观点,根据面包屑中显示的类别显示相关产品。
Woocommerce breadcrumb.php
文件具有
foreach ( $breadcrumb as $key => $crumb ) {
}
我想知道$breadcrumb
从哪里去获得相同的$crumb
。
解决方法
此解决方案适用于拥有多个类别产品的人。
我发现了wc_get_product_terms()
,这就是创建面包屑的方式。因此,如果您要根据面包屑中显示的类别显示相关产品,则可以执行以下操作:
$term = wc_get_product_terms($product->get_id(),'product_cat',array('orderby' => 'parent','order' => 'DESC'));
$args = array(
'post_type' => 'product','tax_query' => array(
array(
'taxonomy' => 'product_cat','field' => 'id','terms' => $term[0]->term_id
),)
);
$products = new WP_Query($args);
但是我发现了使用 yoast seo
插件的更好方法:
$primary_term_product_id = yoast_get_primary_term_id('product_cat');
,然后使用$primary_term_product_id
代替$term[0]->term_id
。
此解决方案适用于拥有多个类别产品的人。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。