我需要更新我店里的所有价格以结束。99,无论是在前端还是在数据库中。我有以下代码,当我运行一个短代码时,它似乎可以做到这一点,但我有一个问题。
当我在admin中查看产品时,它们会显示old 价格。我已经清除了瞬态并重新生成了产品查找表,但旧的价格仍在显示,这使我认为新的价格只显示在前端,即使代码明显在更新数据库。有点困惑。
add_shortcode( \'shortcode_update_price\',\'shortcode_update_price\' );
function shortcode_update_price(){
global $wpdb;
$prefix = $wpdb->prefix;
$results = $wpdb->get_results( "SELECT `meta_id`, `meta_value` FROM {$prefix}postmeta WHERE `meta_key`=\'_price\'", ARRAY_A );
if ( !empty($results) ) {
foreach ($results as $key => $value) {
$new_price = ceil($value[\'meta_value\']) - 0.01;
$wpdb->query( "UPDATE {$prefix}postmeta SET `meta_value`=$new_price WHERE `meta_id`=$value[meta_id]" );
}
}
}
我做错了什么?这可能仍然只是一个缓存问题吗?