Automattic\WooCommerce\Blocks\Shipping
ShippingController::track_local_pickup
Track local pickup settings changes via Store API
Метод класса: ShippingController{}
Хуков нет.
Возвращает
true|false.
Использование
$ShippingController = new ShippingController(); $ShippingController->track_local_pickup( $served, $result, $request );
- $served(true|false) (обязательный)
- Whether the request has already been served.
- $result(WP_REST_Response) (обязательный)
- The response object.
- $request(WP_REST_Request) (обязательный)
- The request object.
Код ShippingController::track_local_pickup() ShippingController::track local pickup WC 10.3.6
public function track_local_pickup( $served, $result, $request ) {
if ( '/wp/v2/settings' !== $request->get_route() ) {
return $served;
}
// Param name here comes from the show_in_rest['name'] value when registering the setting.
if ( ! $request->get_param( 'pickup_location_settings' ) && ! $request->get_param( 'pickup_locations' ) ) {
return $served;
}
$event_name = 'local_pickup_save_changes';
$settings = $request->get_param( 'pickup_location_settings' );
$locations = $request->get_param( 'pickup_locations' );
$data = array(
'local_pickup_enabled' => 'yes' === $settings['enabled'] ? true : false,
'title' => __( 'Pickup', 'woocommerce' ) === $settings['title'],
'price' => '' === $settings['cost'] ? true : false,
'cost' => '' === $settings['cost'] ? 0 : $settings['cost'],
'taxes' => $settings['tax_status'],
'total_pickup_locations' => count( $locations ),
'pickup_locations_enabled' => count(
array_filter(
$locations,
function ( $location ) {
return $location['enabled']; }
)
),
);
WC_Tracks::record_event( $event_name, $data );
return $served;
}