我可以强制GET_OPTION返回数据库而不是缓存吗?

时间:2013-05-20 作者:djb

是否有任何方法可以保证,当我调用get\\u选项时,我肯定会从数据库而不是缓存中获取值?

2 个回复
最合适的回答,由SO网友:fuxia 整理而成

您可以在调用之前删除现有缓存以供选择get_option():

$GLOBALS[\'wp_object_cache\']->delete( \'your_option_name\', \'options\' );
$value = get_option( \'your_option_name\' );

SO网友:mathieuhays

使用toscho展示的wp\\u cache\\u delete()技术,您还必须确保您的选项未处于自动加载状态。如果您的选项是自动加载的,它将是alloptions 缓存,以便您无法单独清除它。

因此,如果要从缓存中清除选项,请确保在设置/更新选项时使用以下格式:

update_option( \'my_key\', \'my val\', false ); // False being the autoload parameter

add_option( \'my_key\', \'my val\', null, false ); // null is a deprecated argument.

update_option() documentation

结束

相关推荐

注意:正在尝试获取options.php中非对象的属性

我正在我的选项中生成以下通知。php在wp\\U调试模式下测试我的主题时。我可以看到问题所在,但不知道如何解决此问题?似乎正在从options中的taxonomy数组调用非对象。php作为数组找不到term\\u id,因为尚未在自定义帖子类型中创建帖子和/或类别。当我创建帖子并为其指定类别时,通知将消失。// Pull all the custom taxonomies into an array $options_password_taxonomies = array(); $taxo