WooCommerce подписка webhoook полезная нагрузка пуста - PullRequest
0 голосов
/ 05 января 2019

Я подключаюсь к событиям действия подписки woocommerce, и соединение кажется нормальным, так как я получаю запрос POST, но полезная нагрузка содержит только следующее, тогда как я ожидаю, что полезная нагрузка заполнена, как когда веб-крючок уволен с момента размещения заказа. Есть идеи?

{
   "action": "woocommerce_checkout_subscription_created",
   "arg": {
             "order_type": "shop_subscription"
   }
 }

Я достаточно компетентен в PHP, но я не знаю, с чего начать с WordPress. Любая помощь будет оценена

Обновление: Итак, я нашел ответственный код для создания полезной нагрузки, которую я вижу, а именно:

    /**
 * Get WP API integration payload.
 *
 * @since  3.0.0
 * @param  string $resource    Resource type.
 * @param  int    $resource_id Resource ID.
 * @param  string $event       Event type.
 * @return array
 */
private function get_wp_api_payload( $resource, $resource_id, $event ) {
    $rest_api_versions = wc_get_webhook_rest_api_versions();
    $version_suffix    = end( $rest_api_versions ) !== $this->get_api_version() ? strtoupper( str_replace( 'wp_api', '', $this->get_api_version() ) ) : '';

    switch ( $resource ) {
        case 'coupon':
        case 'customer':
        case 'order':
        case 'product':
            $class      = 'WC_REST_' . ucfirst( $resource ) . 's' . $version_suffix . '_Controller';
            $request    = new WP_REST_Request( 'GET' );
            $controller = new $class();

            // 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();
            }

            $request->set_param( 'id', $resource_id );
            $result  = $controller->get_item( $request );
            $payload = isset( $result->data ) ? $result->data : array();
            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;
}

Очевидно, что редактировать этот код неразумно, так как он будет снесен следующим обновлением woocomm. Как мне добавить необходимые параметры в полезную нагрузку?

...