Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
<?php
/**
* Plugin Name: WooCommerce Composite Products - Hide "Free!" Price Strings
* Plugin URI: https://woocommerce.com/products/composite-products/
* Description: Hide "Free!" price strings from drop-downs and selected product details when the "Per-Item Pricing" option is checked.
* Version: 1.0
* Author: WooCommerce
* Author URI: https://woocommerce.com/
* Developer: Manos Psychogyiopoulos
*
* Requires at least: 3.8
* Tested up to: 5.3
*
* Copyright: © 2021 Automattic.
* License: GNU General Public License v3.0
* License URI: http://www.gnu.org/licenses/gpl-3.0.html
*/
// To use this snippet, download this file into your plugins directory and activate it, or copy the code under this line into the functions.php file of your (child) theme.
add_filter( 'woocommerce_free_price_html', 'wc_cp_composited_product_free_price_html', 10, 2 );
function wc_cp_composited_product_free_price_html( $price, $product ) {
if ( did_action( 'woocommerce_composite_products_apply_product_filters' ) > did_action( 'woocommerce_composite_products_remove_product_filters' ) ) {
$price = ''; // wc_price( 0.0 );
}
return $price;
}
add_filter( 'woocommerce_composited_product_price_string_inner', 'wc_cp_composited_product_free_price_string_inner', 10, 10 );
function wc_cp_composited_product_free_price_string_inner( $price_string_inner, $price_string, $qty_suffix, $suffix, $price, $is_range, $has_multiple, $product_id, $component_id, $composited_product ) {
if ( $price == 0 ) {
$price_string_inner = ''; // sprintf( __( '%1$s %2$s %3$s', 'dropdown price followed by per unit suffix and discount suffix', 'woocommerce-composite-products' ), WC_CP()->api->get_composited_item_price_string_price( $price ), $qty_suffix, $suffix );
}
return $price_string_inner;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment