WC_Webhook::get_wp_api_payload
Get WP API integration payload.
Метод класса: WC_Webhook{}
Хуков нет.
Возвращает
Массив.
Использование
// private - только в коде основоного (родительского) класса $result = $this->get_wp_api_payload( $resource, $resource_id, $event );
- $resource(строка) (обязательный)
- Resource type.
- $resource_id(int) (обязательный)
- Resource ID.
- $event(строка) (обязательный)
- Event type.
Список изменений
| С версии 3.0.0 | Введена. |
Код WC_Webhook::get_wp_api_payload() WC Webhook::get wp api payload WC 10.3.5
private function get_wp_api_payload( $resource, $resource_id, $event ) {
switch ( $resource ) {
case 'coupon':
case 'customer':
case 'order':
case 'product':
// Bulk and quick edit action hooks return a product object instead of an ID.
if ( 'product' === $resource && 'updated' === $event && is_a( $resource_id, 'WC_Product' ) ) {
$resource_id = $resource_id->get_id();
}
$version = str_replace( 'wp_api_', '', $this->get_api_version() );
$payload = wc_get_container()->get( RestApiUtil::class )->get_endpoint_data( "/wc/{$version}/{$resource}s/{$resource_id}" );
break;
// Custom topics include the first hook argument.
case 'action':
$payload = array(
'action' => current( $this->get_hooks() ),
'arg' => $resource_id,
);
break;
default:
$payload = array();
break;
}
return $payload;
}