2

이 코드와 PHP의 모든 구독을 얻으려고 :api로 woocommerce 구독을 관리하는 방법은 무엇입니까?

<?php 
    require __DIR__ . '/vendor/autoload.php'; 
    use Automattic\WooCommerce\Client; 

    $woocommerce = new Client(
      'https://www.magazzinoperfetto.it', // Your store URL 
      'ck_c92b6b6452XXXXXXXXXXXXXXXXXX', 
      'cs_e3380e1c07XXXXXXXXXXXXXXXXXX', 
      [ 
       'wp_api' => true, // Enable the WP REST API integration 
       'version' => 'wc/v2' // WooCommerce WP REST API version 
      ] 
    ); 

    print_r($woocommerce->get('subscriptions'));  
?> 

내가 woocommerce 제품 등과 API를 사용하는 경우는 ... 그것은 기능입니다.

치명적인 오류 : catch되지 않은 예외 '오토매틱 \ WooCommerce \ HttpClient를 \ HttpClientException'메시지 '오류 : Nessun percorso fornisce 우나 corrispondenza TRA 난 URL 전자 르 modalità 디 richiesta [rest_no_route]'하지만 가입과 나는이 오류가 나타납니다 in /var/www/vhosts/magazzinoperfetto.it/httpdocs/vendor/automattic/woocommerce/src/WooCommerce/HttpClient/HttpClient.php:324 스택 추적 : # 0 /var/www/vhosts/magazzinoperfetto.it/httpdocs/vendor /automattic/woocommerce/src/WooCommerce/HttpClient/HttpClient.php(349) : Automattic \ WooCommerce \ HttpClient \ HttpClient-> lookForErrors (배열) # 1 /var/www/vhosts/magazzinoperfetto.it/httpdocs/vendor/automattic/ woocommerce/src/WooCommerce/HttpClient/HttpClient.php (385) : Automattic \ WooCommerce \ HttpClient \ HttpClient-> processResponse() # 2 /var/www/vhosts/magazzinoperfetto.it/httpdocs/vendor/automattic/woocommerce/src/ WooCommerce/Clie nt.php (82) : Automattic \ WooCommerce \ HttpClient \ HttpClient-> 요청 ('가입', 'GET', 배열, 배열) # 3 /var/www/vhosts/magazzinoperfetto.it/httpdocs/change-sottoscrizione.php (22) : 라인 324

답변

2

에 /var/www/vhosts/magazzinoperfetto.it/httpdocs/vendor/automattic/woocommerce/src/WooCommerce/HttpClient/HttpClient.php에서 오토매틱 \ WooCommerce \ 새를 만들어야합니다 끝점을 get_subcription처럼 만들고이 함수를 사용하여 한 번만 콜백 함수를 만들면 get 구독에 대한 코드를 작성하고 콜백 함수에서이를 반환 할 수 있습니다.

add_action('rest_api_init', 'custom_api_endpoints'); 
function custom_api_endpoints(){ 
register_rest_route('wc/v2', 'get_subcription', array(
    'methods' => 'POST', 
    'callback' => 'custom_subscription_endpoint_handler', 
)); 
} 
function custom_subscription_endpoint_handler{ 
    return $woocommerce->get('subscriptions'); 
}