2

我看过一篇文章说,为了删除 WordPress 提要缓存,下面的代码可以工作。

global $wpdb;
$wpdb->query( "DELETE FROM `wp_options` WHERE `option_name` LIKE ('_transient%_feed_%')" );

那么如何将它应用到我自己的瞬态缓存中呢?

如果我保存数据,

set_transient('mytransient_oneminutecache', $data1, 60);
set_transient('mytransient_onehourcache', $data2, 60 * 60);
set_transient('mytransient_12hourcache', $data3, 60 * 60 * 12);

那么这行得通吗?

global $wpdb;
$wpdb->query( "DELETE FROM `wp_options` WHERE `option_name` LIKE ('_transient%mytransient_%')" );

或者应该是

global $wpdb;
$wpdb->query( "DELETE FROM `wp_options` WHERE `option_name` LIKE ('_transient%_mytransient_%')" );

?

我不习惯查看数据库表,所以如果您能判断它是否有效或如何在选项表中查看,将不胜感激。

4

2 回答 2

2

好吧,我想我明白了。

首先我跑了这个

$data1 ='hi';
$data2 ='hello';
$data3 ='bye';

set_transient('mytransient_oneminutecache', $data1, 60);
set_transient('mytransient_onehourcache', $data2, 60 * 60);
set_transient('mytransient_12hourcache', $data3, 60 * 60 * 12);

接下来打开,http://[站点地址]/wp-admin/options.php

然后发现这些都保存了:

_transient_mytransient_12hourcache
_transient_mytransient_onehourcache
_transient_mytransient_oneminutecache

_transient_timeout_mytransient_12hourcache
_transient_timeout_mytransient_onehourcache
_transient_timeout_mytransient_oneminutecache

所以在那之后,我跑了这个,他们走了!

global $wpdb;
$wpdb->query( "DELETE FROM `wp_options` WHERE `option_name` LIKE ('_transient%_mytransient_%')" );
$wpdb->query( "DELETE FROM `wp_options` WHERE `option_name` LIKE ('_transient_timeout%_mytransient_%')" );
于 2012-09-15T09:58:58.627 回答
0

$wpdb->query("从哪里删除wp_options( option_name'_transient%\_mytransient\_%')");

可能更好,因为 _ 是单字符通配符,因此需要转义。

于 2014-03-21T21:18:50.233 回答