Context: 在我开发的社交共享插件中,我将社交共享计数存储在隐藏的post meta(自定义字段)中,以便我可以将该数据用于插件的各种功能。
该数据的一个有用用途是创建一个流行的帖子小部件,该小部件基于帖子拥有的社交共享数量。我使用带有以下参数的查询来完成此操作:
Example Code:
$swp_args = array(
\'posts_per_page\' => $count,
\'post_type\' => \'post\',
\'meta_key\' => \'_\' . $network,
\'orderby\' => \'meta_value_num\',
\'order\' => \'DESC\',
);
$swq = new WP_Query( $swp_args );
其中,$count是一个有效的整数,$network是与特定社交网络的共享计数相关联的元字段之一的有效名称,或者是反映所有网络的总共享的\\u totes字段。
The Problem: 在99%的网站上,这个查询运行速度很快,人们认为这只是蜜蜂的膝盖。然而,在少数几个网站上,我发现了一些不寻常的行为。在某些情况下,小部件似乎永远不会更新。例如,在帖子本身上,帖子将反映它有100个共享,但小部件将保持在80个共享,并继续按照80个共享进行排序。post和小部件都为这些功能使用了完全相同的元字段。
The Question: 什么会导致WP\\U查询继续返回过期数据?如果是某种缓存,是否有办法强制查询不被缓存,而是始终从数据库返回新数据?