亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

在 ajax 調用中將 php 變量傳遞給 add_filter

在 ajax 調用中將 php 變量傳遞給 add_filter

PHP
胡說叔叔 2023-05-12 14:18:39
我正在嘗試將我在 ajax 調用中收到的變量傳遞給 add_filter 函數。這是我的代碼add_action('wp_ajax_mht_set_partial_payment_amount', 'mht_set_partial_payment_amount');add_action('wp_ajax_nopriv_mht_set_partial_payment_amount', 'mht_set_partial_payment_amount');function mht_set_partial_payment_amount(){    $amount = $_POST["partial_payment_amount"];    add_filter('woo_wallet_partial_payment_amount', function($partial_payment){        return $amount;    }, 10, 1);    echo json_encode($amount);    die();}$amount 在響應中完全沒問題,但它在過濾器中根本不起作用。我嘗試了許多其他方法將 $amount 變量傳遞給過濾器(使用類或全局變量)但沒有任何效果。ajax 調用只需要一個輸入字段值。我需要將值傳遞給過濾器。我已經花了幾個小時在這上面但沒有運氣 :( 任何幫助將不勝感激!
查看完整描述

1 回答

?
www說

TA貢獻1775條經驗 獲得超8個贊

問題是 AJAX 功能與用戶頁面分開運行。所以我想當你添加過濾器時它永遠不會執行,因為它是一個 AJAX 調用而不是構建頁面。我會做一個 $_SESSION 變量來臨時存儲值并在鉤子中使用它,如:


function mht_set_partial_payment_amount(){

   if (!empty($_POST["partial_payment_amount"]) {

      $_SESSION['my-amount"] = $_POST["partial_payment_amount"];

      echo json_encode($amount);

   }


   wp_die(); // Use wp_die for ajax functions.

}

始終添加過濾器以執行調用,但只有 $_SESSION 變量存在時才會執行內部代碼:


add_filter('woo_wallet_partial_payment_amount', function($partial_payment){

   if (!empty($_SESSION["my-amount"]) {

        //EXECUTE WHAT YOU WANT

   };

}


查看完整回答
反對 回復 2023-05-12
  • 1 回答
  • 0 關注
  • 109 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號