繁体   English   中英

Woocommerce股票的Wordpress更新发布元

[英]Wordpress update post meta for Woocommerce stock

我需要将woocommerce中的所有库存重置为缺货。 或将所有产品的库存设置为零。 非此即彼。 没关系

到目前为止,我已经写过了。

function clear_current_stock(){ 
    $sql = "UPDATE wp_postmeta SET meta_value = 'outofstock' WHERE meta_value = 'instock' AND meta_key = '_stock_status'";
    // run queries
    if ($wpdb->query( $sql ) === TRUE) {
        echo "Record updated successfully";
    } else {
        echo "Error updating record";
    }
}

我已经这样调用了函数。 (只需对其进行测试并确保其正常工作)

   <?php clear_current_stock(); ?>

但是该功能没有执行任何操作。 请帮忙。

还有一个类似的问题在这里

但这并没有帮助我。

我需要完成的代码片段。 是单击一个调用此功能的按钮。 然后将所有类型为product的职位设置为零库存。 或缺货

我的回答过程。

首先,我进入MYSQL工作台并在工作台中运行查询。 这表明我选择数据库时出错。

我修复了SQL查询,使其在MYSQL工作台中正常工作。 然后我继续我的职能。

我发现在函数中我没有声明变量。

我必须先声明我的变量,才能使$ wpdb首先工作。 如上所示尚未完成。

这是工作的最终功能100%

// Clear Stock
function clear_current_stock(){ 
// Declare the $wpdb var
    global $wpdb;
// Run My SQL Query (My Query is setting the meta value for stock to zero)
    $wpdb->query("UPDATE wp_postmeta SET meta_value = 0 WHERE meta_key = '_stock'");
// Check if there were any errors or if my query was successful.
    if ( is_wp_error( $wpdb ) ) {
         echo $wpdb->get_error_message();
    }
    else {
         echo 'true';
    }
}

然后,您只需要在要运行查询的位置或位置调用该函数。 可以这样做。

<?php clear_current_stock(); ?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM