Wpis z mikrobloga

Robię obecnie integrację pewnego programu z WooCommerce. Do celów testowych mam postawionego localhoście WordPress + WooCommerce.

Niestety pojawia się problem z dostępem po api:

Przepraszamy, ale nie możesz listować zasobów. [woocommerce_rest_cannot_view]
Z tego co wyczytałem, problem jest z tym że nie mam SSL (no bo to localhost). Ewentualnym rozwiązaniem które znalazlem jest zmiana sposobu autoryzacji, co jest bez sensu, bo normalnie działa jeżeli łączę się z zewnętrznym serwerem, a tworzenie nowego sposobu autoryzacji specjalnie do testów na localhost mija się z celem.

Czy jest możliwość gdzieś w plikach WooCommerce to zmienić, żeby ignorowało mi, że nie ma połączenia po HTTPS? Po prostu, potrzebuję to tylko do celów testowych i do niczego więcej tak naprawdę.

#woocommerce #wordpress #programowanie #php #ecommerce
  • 4
@lukasj: Ok, problem rozwiązany :) Udało mi się:

W pliku :
wp-content/plugins/woocommerce/includes/class-wc-rest-authentication.php
w metodzie

authenticate( $user_id )
trzeba zmienić (linia 82):

if ( is_ssl() ) {
$user_id = $this->perform_basic_authentication();
}

na np: if( is_ssl() || true ) { .... }
@fiolkins: wiem i rozumiem. Jednak potrzebowałem tego TYLKO I WYŁĄCZNIE do testów. Nigdzie indziej tego wgrywał nie będę. Natomiast ta metoda jest na tyle prosta, że wiadomo co dokładnie robi. Po prostu zmieniłem autoryzację oAuth (która była dla http) na basic authentication (używanej przy SSL). Plik dotyczy tylko autoryzacji Rest API WooCommerce.