- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用了很棒的片段 https://jeroensormani.com/custom-stock-quantity-reduction/向变体添加附加设置,以将主要库存库存减少变体中的设定数量。
我现在面临的问题是它不检查这些变体是否缺货(例如,主要库存为 10,捆绑设置设置为 12 瓶)。
我用来添加总库存减少乘数的代码是:
// For implementation instructions see: https://aceplugins.com/how-to-add-a-code-snippet/
/**
* Simple product setting.
*/
function ace_add_stock_inventory_multiplier_setting() {
?><div class='options_group'><?php
woocommerce_wp_text_input( array(
'id' => '_stock_multiplier',
'label' => __( 'Inventory reduction per quantity sold', 'woocommerce' ),
'desc_tip' => 'true',
'description' => __( 'Enter the quantity multiplier used for reducing stock levels when purchased.', 'woocommerce' ),
'type' => 'number',
'custom_attributes' => array(
'min' => '1',
'step' => '1',
),
) );
?></div><?php
}
add_action( 'woocommerce_product_options_inventory_product_data', 'ace_add_stock_inventory_multiplier_setting' );
/**
* Add variable setting.
*
* @param $loop
* @param $variation_data
* @param $variation
*/
function ace_add_variation_stock_inventory_multiplier_setting( $loop, $variation_data, $variation ) {
$variation = wc_get_product( $variation );
woocommerce_wp_text_input( array(
'id' => "stock_multiplier{$loop}",
'name' => "stock_multiplier[{$loop}]",
'value' => $variation->get_meta( '_stock_multiplier' ),
'label' => __( 'Inventory reduction per quantity sold', 'woocommerce' ),
'desc_tip' => 'true',
'description' => __( 'Enter the quantity multiplier used for reducing stock levels when purchased.', 'woocommerce' ),
'type' => 'number',
'custom_attributes' => array(
'min' => '1',
'step' => '1',
),
) );
}
add_action( 'woocommerce_variation_options_pricing', 'ace_add_variation_stock_inventory_multiplier_setting', 50, 3 );
/**
* Save the custom fields.
*
* @param WC_Product $product
*/
function ace_save_custom_stock_reduction_setting( $product ) {
if ( ! empty( $_POST['_stock_multiplier'] ) ) {
$product->update_meta_data( '_stock_multiplier', absint( $_POST['_stock_multiplier'] ) );
}
}
add_action( 'woocommerce_admin_process_product_object', 'ace_save_custom_stock_reduction_setting' );
/**
* Save custom variable fields.
*
* @param int $variation_id
* @param $i
*/
function ace_save_variable_custom_stock_reduction_setting( $variation_id, $i ) {
$variation = wc_get_product( $variation_id );
if ( ! empty( $_POST['stock_multiplier'] ) && ! empty( $_POST['stock_multiplier'][ $i ] ) ) {
$variation->update_meta_data( '_stock_multiplier', absint( $_POST['stock_multiplier'][ $i ] ) );
$variation->save();
}
}
add_action( 'woocommerce_save_product_variation', 'ace_save_variable_custom_stock_reduction_setting', 10, 2 );
// For implementation instructions see: https://aceplugins.com/how-to-add-a-code-snippet/
/**
* Reduce with custom stock quantity based on the settings.
*
* @param $quantity
* @param $order
* @param $item
* @return mixed
*/
function ace_custom_stock_reduction( $quantity, $order, $item ) {
/** @var WC_Order_Item_Product $product */
$multiplier = $item->get_product()->get_meta( '_stock_multiplier' );
if ( empty( $multiplier ) && $item->get_product()->is_type( 'variation' ) ) {
$product = wc_get_product( $item->get_product()->get_parent_id() );
$multiplier = $product->get_meta( '_stock_multiplier' );
}
if ( ! empty( $multiplier ) ) {
$quantity = $multiplier * $quantity;
}
return $quantity;
}
add_filter( 'woocommerce_order_item_quantity', 'ace_custom_stock_reduction', 10, 3 );
add_filter( ‘woocommerce_variation_is_active’, ‘my_jazzy_function’, 10, 2 );
function my_jazzy_function( $active, $variation ) {
// Get Multiplier
$multiplier = $item->get_product()->get_meta( '_stock_multiplier' );
$var_stock_count = $variation->get_stock_quantity();
// if there are 5 or less, disable the variant, could always just set to 0.
if( $var_stock_count <= $multiplier ) {
return false;
}
else {
return true;
}
}
但这不起作用,我认为它只检查变化数量(如果您将变化设置为自己的数量而不是全局数量)。
$multiplier
?
最佳答案
$multiplier
function filter_woocommerce_variation_is_active( $active, $variation ) {
// Get multiplier
$multiplier = get_post_meta( $variation->get_variation_id(), '_stock_multiplier', true );
// NOT empty
if ( ! empty( $multiplier ) ) {
// Get stock quantity
$var_stock_count = $variation->get_stock_quantity();
// Stock quantity < multiplier
if( $var_stock_count < $multiplier ) {
$active = false;
}
}
return $active;
}
add_filter( 'woocommerce_variation_is_active', 'filter_woocommerce_variation_is_active', 10, 2 );
关于php - 在 WooCommerce 中,随着自定义库存数量的减少,将 "out-of-stock"产品变体变灰,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62817436/
所以我一直在寻找一种方法,当数量字段大于 0 时,将库存可用性更改回有库存。当您将数量设置为 0 并保存产品时,系统已经自动将库存可用性更改为缺货.当您将数量设置为大于 0 并保存产品时,我想要一种将
我对 Java 非常陌生,我试图理解为什么这段代码的 Magic 类的 main 方法的输出是“TT”。我们的教授说我们不必理解这个方法的含义,只要回答输出即可。 代码是这样的。 public cla
Magento 2:获取产品库存数量和其他库存信息 如何在magento 2中获取产品库存数量和信息 最佳答案 如果我们查看 StockItemRepository 类 get方法需要参数 $stoc
我有声明(或类似的) std::map &stocks; 贯穿我的代码。 Eclipse 不喜欢这样并产生“无效的模板参数”错误。 库存声明为: class Stock { public:
在 Admin Woocommerce 产品页面上,对于可变产品,在“变体”设置中,对于所有产品变体,我希望默认启用 Manage Stock 选项,并使用 Stock Quantity 选项设置为
我一直在学习向Gtk进行开发,并且在线上的大多数示例都建议使用Gtk.stock图标。但是,使用它会产生警告,表明它已被弃用,我找不到这些图标的替代品。 代码示例为: open_button:
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,因为
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题? Update the question所以它是on-topic对于堆栈溢出。 9年前关闭。 Improve this que
在 GWT Stock Watch 教程中,它似乎每 4 秒轮询一次服务器以获取新数据。这是 GWT 的标准工作方式还是可以使用推送类型技术,以便在服务器上引发新事件时调用客户端代码? 最佳答案 这是
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 7年前关闭。 Improve thi
我似乎在我的系列数据散列中可以拥有的数据点数量受到某种限制。我正在像这样创建我的数据哈希: var data_hash = []; var limit = 1000; for(var i = 0; i
股票初始值为 1 流量为0.1 Stock1 初始值为 0。 当我运行模拟时,我意识到股票的值(value)低于 0(获得负值)。当 Stock 的值达到零时如何停止流动。 最佳答案 一个应该有一个非
我在程序中执行用户定义方法时遇到问题,如果有人能帮助我就好了 package Ex_9_2; public class TestStock { public static String price;
例如,当我想在普通消息应用程序中将图像附加到文本消息时,我会看到一个熟悉的系统对话框,其中显示相机、图库和其他图像内容提供程序。 我想在我自己的应用程序中使用它。我看到很多库允许用户在 Gallery
我正在开发自行车库存。我将Cycles cid,title, desc etc存储在CYCLE表中,并在另一个STOCK(sid,cid,qty)中存储库存。现在我知道自行车可以有多种颜色(黑色、红色
#include #include #include using namespace std; class Product { string title; string sirN
题目地址:https://leetcode.com/problems/online-stock-span/description/ 题目描述 Write a class StockSpanner
我需要将“ # in stock ”文本更改为“ # Deals left ”。 我将以下代码添加到 function.php 文件中,但这会删除实际数字。 add_filter( 'woocomme
我无法从 Alpha Vantage TIME_SERIES_DAILY、TIME_SERIES_DAILY_ADJUSTED 或 TIME_SERIES_INTRADAY 获取任何 NASDAQ 数
http://en.wikipedia.org/wiki/MetaStock 有人知道如何将 metastock 数据格式转换为 ASCII/CSV 格式吗? 任何示例代码(c++/c#)都会有很大帮
我是一名优秀的程序员,十分优秀!