Cómo depurar en WooCommerce 3+
Estoy creando un método de envío personalizado para Woocommerce usando este tutorial https://docs.woocommerce.com/document/shipping-method-api/ pero tengo problemas de depuración. Cada vez que el usuario actualiza los métodos de envío, las llamadas de WooCommerce calculan el envío. He anulado esta función con lo siguiente.
public function calculate_shipping( $package ) {
// This is where you'll add your rates
$rate = array(
'idea' => $this->id,
'label' => $this->title,
'cost' => '90.00',
'calc_tax' => 'per_item'
);
echo "<script>console.log('Calculating shipping');</script>";
$this->add_rate($rate);
}
Al final, tengo una forma bastante compleja de calcular el "costo", pero no tengo forma de depurarlo porque esa línea de eco no produce resultados en la consola de Chrome. Alguna idea de lo que está pasando aquí?
Cualquier ayuda sería muy apreciada. Gracias.
Aceptado
Primera función auxiliar Crear PHP
function console_output($data) {
$output = $data;
if (is_array($output))
$output = implode(',', $output);
echo "<script>console.log('Debug Objects: " . $output . "' );</script>";
}
Entonces puedes usarlo así:
public function calculate_shipping( $package ) {
// This is where you'll add your rates
$rate = array(
'idea' => $this->id,
'label' => $this->title,
'cost' => '90.00',
'calc_tax' => 'per_item'
);
console_output("Calculating shipping");
$this->add_rate($rate);
}
Esto creará una salida como esta:
Debug Objects: Calculating shipping