如何在WordPress中编写更新查询以终止瞬变 时间:2017-04-22 作者:smarttechy 我想编写更新查询来终止瞬态。我会在wordpress选项表中将他们的时间增加到1。我对更新的查询是$wpdb->update( \'options\', array( \'option_value\' => \'1\', // string ), array( \'option_name\' => \'%re_compare%\' ) ); 它不起作用。基本上,我想删除/终止已经存在的瞬态。但若我从选项表中删除瞬态,它们仍会显示在瞬态管理器插件中。所以想把过期时间设为1秒。 2 个回复 SO网友:Rarst 瞬态根本不能保证使用数据库。如果启用了对象缓存,它们将使用对象缓存。而且,由于对象缓存API中没有大容量删除,因此实际上没有可靠的方法来清除所有可能环境中的瞬态。有一些性能方面的原因需要将它们从数据库中清除(core现在正在升级),但您的程序逻辑应该远离它。至于为什么在你的情况下它会失败,很难说。您需要确定正在使用的存储以及要测试的原始SQL查询。 SO网友:JItendra Rana 尝试按以下方式删除瞬态。它应该会起作用。global $wpdb; $sql = \'DELETE FROM \' . $wpdb->options . \' WHERE option_name LIKE "_transient_%"\'; $wpdb->query($sql); 或者您可以尝试使用此插件删除过期的瞬态https://wordpress.org/plugins/delete-expired-transients/Edit : 要将瞬态值更新为1,请使用以下查询$sql = \'UPDATE \' . $wpdb->options . \' SET option_value = 1 WHERE option_name LIKE "_transient_%"\'; 我刚刚尝试使用上述查询删除临时数据,它从选项表中删除了1500多行。因此,quoery应该起作用。可能您的站点正在使用对象缓存来存储@Rarst指出的临时数据。 文章导航