저는 Wordpress Multisite에서 일하고 있으며 모든 주식 정보가 기본 사이트 테이블에서 가져와 지도록 노력하고 있습니다. 내 테마의 functions.php에서 get_stock_quantity() 함수를 덮어 쓰려고합니다. 내가 뭘 찾았는지내 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를 사용합니다.
코어 파일을 변경하지 않고 어떻게 덮어 쓸 수 있습니까? 감사합니다.
괜찮 았지만 동일한 문제에 직면했습니다. "woocommerce_data_get_stock_quantity"필터가 제품 페이지의 인벤토리 세부 사항 편집에서 호출되지 않아 기본 사이트의 테이블에서 가져 오기가 아닌 자체 테이블의 재고를 표시합니다. – Omicans