嗨伙计们我用这个代码
add_action( 'woocommerce_before_shop_loop_item_title', 'wk_out_of_stock_variations_loop' );
function wk_out_of_stock_variations_loop(){
global $product;
if ( $product->product_type == 'variable' ) { // if variation product is out of stock
$available = $product->get_available_variations();
if ( $available )foreach ( $available as $instockvar ) {
if ( isset($instockvar['attributes']['attribute_pa_megethos'] ) ) {
if ( ( $instockvar['attributes']['attribute_pa_megethos'] == $_GET['filter_megethos'] ) && (!$instockvar['max_qty']>0) ) {
global $product;
$id = $product->get_id();
echo "<style>.post-$id{display: none}</style>";
}
}
}
}
if ( !$product->is_in_stock() ) { // if single product is out of stock
global $product;
$id = $product->get_id();
echo "<style>.post-$id{display: none}</style>";
}
}
字符串
这段代码工作正常,但隐藏的产品,但他们的地方仍然在网页上,但我不想显示不存在的产品,并取代这些现有的产品
2条答案
按热度按时间b09cbbtk1#
你应该从Woocommerce ->设置->库存->“从目录中隐藏缺货项目”
qlvxas9a2#
你可以使用这个代码。在修改后的代码中,我添加了一个额外的步骤,在滑块或网格循环中显示脱销产品之前,从$related_products数组中排除脱销产品。
字符串