web-dev-qa-db-fra.com

Prix ​​variable du produit WooCommerce - D'où provient le texte "De"?

Le code suivant de github ajoutera "- [prix maximum]" à tous les produits variables affichés dans les archives de produits.

Je me demande comment je pourrais aussi supprimer le texte "De" à l'intérieur du même filtre.

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

J'ai remarqué cette question répond comment supprimer le texte De en utilisant les mêmes paramètres de filtre, mais je n'ai pas été en mesure de comprendre comment cela fonctionne.

1
Raphael Rafatpanah

Allez avec commenter cette ligne:

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

et cela ne sera pas ajouté à la sortie des prix.

2
Nicolai

Eh bien, il s’est avéré que je l’ai fait, mais sans vraiment comment tout fonctionne.

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

Je viens de changer cette ligne:

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 )

Est-ce que quelqu'un sait exactement comment fonctionne la fonction _x ()? J'ai vu leur documentation mais ce n'est pas vraiment descriptif.

1
Raphael Rafatpanah