私はWordpress Multisiteで作業しており、すべての株価情報が基本サイトテーブルから取得されるようにしています。私は私のテーマのfunctions.phpのget_stock_quantity()のwoocomerce関数を上書きしようとしています。私が見つけたのは私のfunctions.phpでget_stock_quantityを上書きする方法はありますか?
public function get_stock_quantity($context = 'view') {
return $this->get_prop('stock_quantity', $context);
}
これはフィルタでもアクションでもありません。私は
add_filter('woocommerce_product_get_stock_quantity', 'wcs_custom_get_stock_quantity', 1, 2);
function wcs_custom_get_stock_quantity($availability, $_product) {
global $wpdb;
$productQuantity = $wpdb->get_results('SELECT * FROM '.$wpdb->base_prefix.'postmeta WHERE post_id = '.$_product->get_id() ." AND meta_key = '_stock'", OBJECT);
return $productQuantity[0]->meta_value;
}
ある一つのフィルタを上書きしかしwoocommerce_product_get_stock_quantityは製品リストページ上で動作します。個々の製品編集ページでは、get_stock_quantityが使用されます。
コアファイルを変更せずにどのように上書きできますか? ありがとう
ok私はそれをしましたが、同じ問題に直面しています。フィルタ "woocommerce_data_get_stock_quantity"は、ベースサイトのテーブルからフェッチするのではなく、独自のテーブルの在庫を示す結果として、商品ページの在庫詳細の編集で呼び出されることはありません。 – Omicans