我需要将 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/