什么会导致‘wp’操作在Firefox中每个页面触发两次(但每个帖子只触发一次)?

时间:2011-09-02 作者:Tom Auger

我正在使用add_action( \'wp\', \'do_something_once_per_page\' ); 而且,这不是一次而是两次。有趣的是do_something_once_per_page( $wp ){ } 我正在全球化$post 这是两个不同的帖子!

我注意到这一点的方式是使用add\\u user\\u meta()。本质上,我是用它来跟踪用户在站点中的活动。在“wp”行动中,我得到了$page 并记录ID 针对用户的元。

对于每个页面的加载,我都会得到两个日志条目。一个用于正确的页面,另一个用于下一个发布的页面(跳过所有修订或中间的其他帖子类型)。

有趣的是(这里有线索吗?)对于帖子,只记录正确的帖子,并且不会再次调用该操作。

我仍然感到惊讶的是,“wp”操作竟然被调用了两次,更让我感到困惑的是,它正在抓取其他页面,而这些页面(在菜单层次结构中)与被查询的当前页面没有关系。

此外,我一辈子都搞不清楚这个“鬼页”会去哪里——据我所知,它肯定不会被发送到浏览器。是否有可能是某个虚构的AJAX调用造成的?登录时的管理栏怎么样(我只记录登录的用户活动,所以总是有一个管理栏)。

编辑:我现在可以确认这是Firefox独有的问题!怎么回事?除了我点击的链接,我甚至无法理解FF是如何请求一些其他页面的,为什么只有FireFox和WTF。与其说是WP问题,不如说是FF6问题。

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

检查页面的源代码。我猜您的源代码包括<link rel="next"> 在标题中,默认情况下WordPress注入,Firefox正在预取“下一页”以缓存它。

尝试以下操作以从标题中删除该链接:

remove_action(\'wp_head\', \'adjacent_posts_rel_link_wp_head\');
找到此日志,其中包含更多详细信息:Wordpress rel=”next” and Firefox Prefetching

SO网友:David Saba

检查您是否未预取链接。基本上,Wordpress主题可能会打印一条指令,指示现代浏览器下载并缓存您可能看到的下一页,以提高性能。html输出如下所示

<link rel="prefetch" href="http://www.example.com/">
在Google上搜索链接预取以了解更多信息。

结束

相关推荐

Custom Post Row Actions

我偶然发现this question 在写这个问题的时候。我有一个问题是关于这个问题的。我发现你用的是get_delete_post_link 筛选为我的操作创建一个新的url(或一个类似的函数——在任何情况下,我都会将该函数与布尔值一起使用)。唯一的问题是,I don\'t know how to capture the event now. 考虑到我在谷歌上找不到很多关于行后操作的例子,我将不胜感激-/public function _wp_filter_get_delete_post_link( $