WooCommerce可变产品价格-“From”文本从哪里生成?

时间:2013-11-19 作者:Raphael Rafatpanah

以下代码来自github 将在产品档案中显示的所有可变产品中添加“-[最高价格]”。

我想知道如何删除同一过滤器中的“From”文本。

add_filter(\'woocommerce_variable_price_html\', \'custom_variation_price\', 10, 2);

function custom_variation_price( $price, $product ) {

     $price = \'\';

     if ( !$product->min_variation_price || $product->min_variation_price !== $product->max_variation_price ) $price .= \'<span class="from">\' . _x(\'From\', \'min_price\', \'woocommerce\') . \' </span>\';

     $price .= woocommerce_price($product->get_price());

     if ( $product->max_variation_price && $product->max_variation_price !== $product->min_variation_price ) {
          $price .= \'<span class="to"> \' . _x(\'-\', \'max_price\', \'woocommerce\') . \' </span>\';

          $price .= woocommerce_price($product->max_variation_price);
     }

     return $price;
}
我注意到了this question 回答了如何使用相同的过滤器参数从文本中删除,但我还没有弄清楚这是如何工作的。

3 个回复
最合适的回答,由SO网友:Nicolai Grossherr 整理而成

继续注释这一行:

 if ( !$product->min_variation_price || $product->min_variation_price !== $product->max_variation_price ) $price .= \'<span class="from">\' . _x(\'From\', \'min_price\', \'woocommerce\') . \' </span>\';
这不会被加到价格输出中。

SO网友:Raphael Rafatpanah

好吧,事实证明我已经做到了,但实际上没有确切说明每件事的工作原理。

add_filter(\'woocommerce_variable_price_html\', \'custom_variation_price\', 10, 2);

function custom_variation_price( $price, $product ) {

     $price = \'\';

     if ( !$product->min_variation_price || $product->min_variation_price !== $product->max_variation_price ) $price .= \'<span class="from">\' . _x(\'From\', \'min_price\', \'woocommerce\') . \' </span>\';

     $price .= woocommerce_price($product->get_price());

     if ( $product->max_variation_price && $product->max_variation_price !== $product->min_variation_price ) {
          $price .= \'<span class="to"> \' . _x(\'-\', \'max_price\', \'woocommerce\') . \' </span>\';

          $price .= woocommerce_price($product->max_variation_price);
     }

     return $price;
}
我只是换了一行:

if ( !$product->min_variation_price || $product->min_variation_price !== $product->max_variation_price ) $price .= \'<span class="from">\' . _x(\'From\', \'min_price\', \'woocommerce\') . \' </span>\';
收件人:

if ( !$product->min_variation_price || $product->min_variation_price !== $product->max_variation_price )
有人确切地知道\\u x()函数是如何工作的吗?我确实看到了their documentation 但它并不是真正的描述性。

SO网友:Mr Kashif

使用此代码删除;“自”;变量产品文本:

add_filter( \'woocommerce_variable_price_html\', \'variation_price_min\',9999, 2 );

function variation_price_min( $price, $product ) {
$prices = $product->get_variation_prices( true );
$min_price = current( $prices[\'price\'] );
$price = sprintf( __( \'%1$s\', \'woocommerce\' ), wc_price( $min_price ) );
return $price;
 }

结束

相关推荐

private functions in plugins

我开发了两个插件,其中一个功能相同(相同的名称,相同的功能)。当试图激活两个插件时,Wordpress会抛出一个错误,因为它不允许我以相同的名称定义函数两次。有没有一种方法可以使这个函数只对插件私有,而不使用面向对象编程,也不简单地重命名函数?我不想使用OOP,因为我首先要学习它。此外,我不想重命名该函数,因为我可能也想在其他插件中使用它,而重命名感觉不太合适。