第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

通過api調(diào)用將產(chǎn)品添加到購物車

通過api調(diào)用將產(chǎn)品添加到購物車

PHP
素胚勾勒不出你 2021-12-03 14:36:07
我已經(jīng)設(shè)置了 wordpress REST api 來創(chuàng)建一個端點來監(jiān)聽特定第三方服務(wù)的調(diào)用。此第三方服務(wù)將發(fā)送包含產(chǎn)品數(shù)據(jù)的 POST 請求。此數(shù)據(jù)需要可用于 woocommerce,以便它可以將產(chǎn)品添加到購物車。問題是我無法訪問將返回 woocommerce 實例的 WC() 函數(shù)。第三方服務(wù)需要一個 json 響應(yīng),它可以是任何東西,只要它是 json。收到響應(yīng)后,它將用戶重定向到購物車。我嘗試在端點的回調(diào)函數(shù)中添加一個內(nèi)部回調(diào)函數(shù),該函數(shù)將依次運行一個將產(chǎn)品添加到購物車的函數(shù)。嘗試將此函數(shù)連接到幾個不同的點,例如:init、wp、woocommerce_loaded、rest_api_init 和 wp_footer。我還嘗試發(fā)送帶有參數(shù)的 cURL get 請求,例如 ?add-to-cart=".$request->get_param('productId') 這也不起作用。我無法發(fā)布第三方服務(wù),但 wp rest api 端點只是一個監(jiān)聽 POST 請求的普通端點。
查看完整描述

1 回答

?
RISEBY

TA貢獻(xiàn)1856條經(jīng)驗 獲得超5個贊

我使用以下代碼解決了這個問題:


add_filter( 'woocommerce_is_rest_api_request', [ $this, 'simulate_as_not_rest' ] );

/**

* We have to tell WC that this should not be handled as a REST request.

* Otherwise we can't use the product loop template contents properly.

* Since WooCommerce 3.6

*

* @param bool $is_rest_api_request

* @return bool

*/

public function simulate_as_not_rest( $is_rest_api_request ) {

if ( empty( $_SERVER['REQUEST_URI'] ) ) {

        return $is_rest_api_request;

}


// Bail early if this is not our request.

if ( false === strpos( $_SERVER['REQUEST_URI'], $this->namespace ) ) {

    return $is_rest_api_request;

}


return false;

}


我將命名空間設(shè)置為等于 API 路由的命名空間。


我希望這可以幫助別人


查看完整回答
反對 回復(fù) 2021-12-03
  • 1 回答
  • 0 關(guān)注
  • 228 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號