php - WordPress 更新 Woocommerce 股票的帖子元

标签 php mysql wordpress woocommerce

我需要将 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(); ?>

但是该函数没有执行任何操作。请帮忙。

有类似的问题here .

但这对我没有帮助。

我需要什么来完成代码。就是点击一个按钮,调用这个函数。然后将所有类型产品的帖子设置为零库存。或缺货

最佳答案

我的答案过程。

首先,我进入 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(); ?>

关于php - WordPress 更新 Woocommerce 股票的帖子元,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50252916/

相关文章:

wordpress - 如何包含paypal手续费

php - wordpress menu-walker 中的 ACF 对象

javascript - jquery datetimepicker 设置为日期取决于日期

php - 在用 PHP 将密码存储到 MySQL 时尝试加密

mysql - 关联模型 ruby​​ on rails 上的一个数据库查询

mysql - 我是否过度使用 MySql 表?

php - 将excel数据映射到mysql数据库

javascript - 自动将所有链接从一个基本 URL 重定向到另一个 URL(HTML、JS)

php - 为什么 php 不能将引号转换为 mysql 的 html 实体?

php - Elasticsearch query_string包含未查询的术语