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.
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.
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.