[英]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.