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