Переменная цена продукта WooCommerce - Откуда берется текст "От"?


Следующий код из github добавит "- [максимальная цена]" ко всем переменным продуктам, отображаемым в архивах продуктов.

Мне интересно, как я мог бы также удалить текст "Из" внутри того же фильтра.

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;
}

Я заметил этот вопрос отвечает на то, как удалить из текста, используя те же параметры фильтра, но я не смог понять, как это работает.

Author: Community, 2013-11-19

2 answers

Продолжайте комментировать эту строку:

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

И это не будет добавлено к выходу цены.

 3
Author: Nicolai, 2013-11-19 23:50:50

Ну, оказывается, я это сделал, но не совсем точно, как все работает.

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 )

Кто-нибудь точно знает, как работает функция _x()? Я видел их документацию , но она не совсем описательна.

 1
Author: Raphael Rafatpanah, 2013-11-19 23:52:08