Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress 消除可变产品价格不';行不通_Wordpress_Woocommerce - Fatal编程技术网

Wordpress 消除可变产品价格不';行不通

Wordpress 消除可变产品价格不';行不通,wordpress,woocommerce,Wordpress,Woocommerce,我在woocommerce中尝试了几个代码来禁用产品中的价格变量 我试过了,但什么也没发生: /* Disable Variable Product Price Range completely: */ add_filter( 'woocommerce_variable_sale_price_html','my_remove_variation_price', 10, 2 ); add_filter( 'woocommerce_variable_price_html', 'my_remove_

我在woocommerce中尝试了几个代码来禁用产品中的价格变量

我试过了,但什么也没发生:

/*
Disable Variable Product Price Range completely:
*/

add_filter( 'woocommerce_variable_sale_price_html','my_remove_variation_price', 10, 2 );
add_filter( 'woocommerce_variable_price_html', 'my_remove_variation_price', 10, 2 );

function my_remove_variation_price( $price ) {
$price = '';
return $price;
}
我把它放在functions.php中,但什么也没发生


我的主题是theme junkie的saha。

最好的方法是连接到
woocommerce\u get\u price\u html
过滤器

它传递
$price
HTML和
WC\u产品*
对象。您可以检查它是否是WC_Product_变量的
实例,以确定它是否是变量产品。如果是空字符串,则只需返回
'
空字符串。这将处理父变量产品的价格显示

例子
您编写了两个参数,但您的函数只包含一个,请编辑它。我认为它会有所帮助:您可以安全地将其更改为1而不是2,因为您只需要删除
price
,并且此挂钩将仅在可变产品上调用。但是有一些警告,1)
woocommerce\u variable\u price\u html
hook是在v3.0.2上引入的,所以它在以前的版本上不起作用,2)你应该检查一下你是否在与产品展示相关的前端页面上。我不明白为什么这个答案也会被否决而没有任何评论?此函数在所有Woocommerce版本上完美地工作,具有完全的向后兼容性,而在v3.0.2中添加了
Woocommerce\u variable\u price\u html
hook,因此它不向后兼容。
add_filter('woocommerce_get_price_html', 'mm_handle_variation_prices', 10, 2);
function mm_handle_variation_prices( $price_html, $product_obj ){
    // Bail unless we are on WooCommerce page on frontend and this is an ajax request.
    if( is_admin() || is_ajax() || ! is_woocommerce() ) {
        return $price_html;
    }

    // If this is an Variable product only then return empty string.
    // '$product_obj instanceof WC_Product_Variable' check would work as well.
    if( 'variable' === $product_obj->get_tyepe() ) {
        return '';
    } else {
        return $price_html;
    }
}