我的产品有一个自定义的 meta 'wccaf_virtual_quantity'。现在我想计算并添加另一个自定义元“actual_stock”。'actual_stock'= 的值stock-wccaf_virtual_quantity 我正在尝试的代码破坏了我的网站 它'The site is experiencing technical difficulties. Please check your site admin email inbox for instructions.'在访问管理面板时出现错误。但是当我从数据库中禁用代码并检查产品表时'actual_stock',我可以看到 的值'actual_stock'已更新。这意味着代码可以正常工作,但它会破坏正在处理的站点。
我尝试将以下代码添加到functions.php. 我正在使用“代码片段”插件添加 php 片段
$args = array(
'post_type' => 'product',
'posts_per_page' => -1,
);
$products_array = get_posts($args);
if (!empty($products_array)) {
// loop through each product
foreach ($products_array as $product)
{
update_actual_stock($product->ID);
}
}
function update_actual_stock($post_id) {
$post_type = get_post_type($post_id);
if ($post_type == 'product') {
$product = wc_get_product($post_id);
$virtual_stock = get_post_meta( $post_id,
'wccaf_virtual_quantity', true );
$visible_stock = $product->get_stock_quantity();
$actual_quantity = $visible_stock - $virtual_stock;
update_post_meta( $post_id, 'actual_stock',$actual_quantity);
}
}
请检查我做错了什么。
湖上湖