WooCommerce GET_PRICE通过AJAX使用时返回错误价格

时间:2021-12-02 作者:TJ152

我在一个使用活动门票插件的网站上工作,我需要通过ID获取门票(Woo产品)的价格wc_get_product( $ticketID )->get_price(); 要做到这一点。

使用下面的代码将价格添加到页面中可以得到正确的价格(例如30):

echo \'<input type="hidden" id="ticketpricetest" value="\' . wc_get_product( 28612 )->get_price() . \'">\';
然而,当我尝试在Ajax调用中使用相同的方法获取价格时,它会返回300:

function get_ticket_price() {
  $ticketID = $_REQUEST[\'ticketID\'];
  echo wc_get_product( $ticketID )->get_price();
}
add_action( \'wp_ajax_get_ticket_price\', \'get_ticket_price\' );
add_action( \'wp_ajax_nopriv_get_ticket_price\', \'get_ticket_price\' );
我也试过使用get_regular_price 但这也会带来300英镑的回报。

你知道这是怎么回事吗?

1 个回复
最合适的回答,由SO网友:admcfajn 整理而成

在使用wp_ajax hooks. 希望这能解决它。

function get_ticket_price() {
  $ticketID = $_REQUEST[\'ticketID\'];
  echo wc_get_product( $ticketID )->get_price();

  // Don\'t forget to stop execution afterward.
  wp_die();
}
add_action( \'wp_ajax_get_ticket_price\', \'get_ticket_price\' );
add_action( \'wp_ajax_nopriv_get_ticket_price\', \'get_ticket_price\' );