Woocomerce api принимает oauth1.0 для HTTP-запросов и базовую HTTP-аутентификацию для HTTPS-запросов. Мой запрос прост. Как просто удалить эту аутентификацию? Я сделал кое-что, и нашел, что есть класс в плагине woocommerce с конструктором как
public function __construct() { // To disable authentication, hook into this filter at a later priority and return a valid WP_User add_filter( 'woocommerce_api_check_authentication', array( $this, 'authenticate' ), 0 ); }
Моя задача – просто удалить часть аутентификации. Здесь он говорит, чтобы подключить этот фильтр к более позднему приоритету. Как это сделать и как вернуть действительный WP_User?
Создайте свой собственный плагин и поместите следующий код:
function wc_authenticate_alter(){ //return wp_get_current_user(); if( 'GET' == WC()->api->server->method ){ return new WP_User( 1 ); } else { throw new Exception( __( 'You dont have permission', 'woocommerce' ), 401 ); } } add_filter( 'woocommerce_api_check_authentication', 'wc_authenticate_alter', 1 );
Это обойдется аутентификации woocommerce api. Используйте его на свой страх и риск.
(Вы можете добавить его в functions.php
темы вместо собственного плагина, но не протестировать.)