老实说,我今天才知道怎么做。
为了实现您的目标,您需要连接到中的一个url过滤器woocommerce/templates/loop/add-to-cart.php 之间lines 30 - 53, 利用全球$product 变量,以及get_stock_quantity 作用
假设你只担心简单的产品(没有变化),那么我相信你会这样处理:
add_filter( \'add_to_cart_url\', \'add_special_payment_link\' );
function add_special_payment_link( $link ) {
global $product;
// If the stock quantity is less than 50, don\'t modify the link
if( $product->get_stock_quantity() <= 50 ) {
return $link;
}
// Write your code here to come up with the special payment link
$link = \'http://wordpress.org/\'; // You know, your link, not WordPress
return $link;
}
// Since WooCommerce\'s JavaScript uses AJAX to add an item to a cart, we need to remove
// the class \'add_to_cart_button\' from the button when the stock is greater than 50
add_filter( \'add_to_cart_class\', \'remove_add_to_cart_class\' );
function remove_add_to_cart_class( $class ) {
global $product;
// If the stock quantity is less than 50, don\'t modify the class
if( $product->get_stock_quantity() <= 50 ) {
return $class;
}
// Specify a custom class or just return an empty string
return \'\';
}
现在我还没有测试这段代码(所以只在测试站点上使用),但考虑到我今天早些时候所做的,并假设
get_stock_quantity 函数实际上可以工作,该代码至少应该给您一个良好的开端。
告诉我进展如何,或者你有什么问题要问我。