1

In WooCommerce you have many hooks & filters. How can I check what is inside of a filter parameter? For example, I want to unset some shipping rates based on certain conditions. How can I check what is inside my $rates or $package parameter?

add_filter('woocommerce_package_rates', 'wbgoe_shipping_rates', 20, 2);

function wbgoe_shipping_rates($rates, $package) {
    print_r($rates); \\ How to check what's inside of $rates??
    return $rates;
}
LoicTheAztec
  • 229,944
  • 23
  • 356
  • 399
Pieter
  • 117
  • 3
  • 10

1 Answers1

1

You can first enable Wordpress debug log by editing your wp-config.php file adding the following lines to enable debug (if these are already defined, edit the values):

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

Now you can use error_log() function in your code as follows:


add_filter('woocommerce_package_rates', 'check_shipping_rates', 20, 2);

function check_shipping_rates($rates, $package) {
    error_log( print_r( $rates, true ) );
    return $rates;
}

As errors are logged, they should appear in wp-content/debug.log. You can open this file in a text editor. Once you have finished, you can disable debug log.

Related: How to debug in WooCommerce 3

LoicTheAztec
  • 229,944
  • 23
  • 356
  • 399