Php 显示特定类别的列表
我们目前有一个显示的每种产品的类别列表 我们想从前端隐藏一些特定类别,因为它们仅用于管理目的。理想情况下,我们想要确定哪些类别包括在内?下面是代码片段Php 显示特定类别的列表,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,我们目前有一个显示的每种产品的类别列表 我们想从前端隐藏一些特定类别,因为它们仅用于管理目的。理想情况下,我们想要确定哪些类别包括在内?下面是代码片段 Catagories: <?php $terms = get_the_terms( $product_id, 'product_cat' ); $product_cat = array(); foreach ($terms as $term) { $product_cat[] .= $term->name; }
Catagories: <?php $terms = get_the_terms( $product_id, 'product_cat' );
$product_cat = array();
foreach ($terms as $term) {
$product_cat[] .= $term->name;
}
echo implode(', ', $product_cat); ?>
类别:
谢谢你的帮助你可以这样做 在$restricted_cats数组中指定具有该类别的slug的受限类别。然后,您可以检查类别是否在受限类别数组中。您还可以检查术语ID而不是slug,因为两者都是唯一的
Catagories: <?php $terms = get_the_terms( $product_id, 'product_cat' );
$product_cat = array();
$restricted_cats = array("term-slug", "term-slug2", "term-slug3", "term-slug4")
foreach ($terms as $term) {
if (!in_array($term->slug, $restricted_cats)) {
$product_cat[] .= $term->name;
}
}
echo implode(', ', $product_cat); ?>
类别:
您可以使用Woocommerce的Woocommerce\u product\u subcategories\u args
过滤器更改显示(或不显示)的产品类别,因此:
// Remove categories from loop.
function ma_exclude_wlb_loop( $args ) {
$cats_to_hide = array( 23, 44, 93 );
if ( !is_admin() ) :
$myargs = $args["exclude"];
if ( !$myargs ) $myargs = array();
if ( !is_array( $myargs ) ) $myargs = explode( ",", $myargs );
$cats_to_hide = $cats_to_hide;
$args["exclude"] = array_merge( $cats_to_hide, $myargs );
endif;
return $args;
}
add_filter( 'woocommerce_product_subcategories_args', 'ma_exclude_wlb_loop' );
添加此短代码
[woocommerce_product_filter_category include="clothing,shoes,jackets,shirts,shorts" show_thumbnails="yes"]
您可以在本网站获得更多信息非常感谢!尽管它排除了该类别,但仍然有效。如果我想指定包含哪些类别,我将如何做?我们想排除的比包含的要多,所以这会使事情变得更容易。更不用说我自己想出了一个解决方案。它所需要的只是一个“别的”,这根本不是我们想要的。谢谢你的建议。这是另一个需要考虑的问题,但为了我们的目的,我认为格雷戈的解决方案最适合这个工作。