可能的错误:UPDATE_USER_META正在更新两个唯一的元项

时间:2013-04-15 作者:indextwo

在CPT页面上,我检查用户是否登录;如果是,我会检查他们是否有一个元条目\'session-\' + 当前页的存根。如果他们这样做,我将值增加1。

我认为这一切都很好,但我刚刚注意到它实际上增加了两个单独的user\\u元字段。目前,我有三个CPT页面(我们叫它们伯特、厄尼和拉尔夫);如果我刷新页面Burt, 它增加了我的user\\u元字段(session-burt) 由1,这是伟大的;但是,它也会增加session-ralph 通过1。

我没有Ralph 页面打开后,我重复着我能想到的一切,试图找出错误的代码行,但我看不出它为什么这样做。这真是令人讨厌。

这是我的密码。希望我只是对一些非常明显的东西视而不见,而不是WP bug。

$stub = $post->post_name;

$sessionKey = \'session-\' . $stub;
$viewedKey = $stub . \'-lastviewed\';

$sessionViewsArray = get_user_meta($current_user->ID, $sessionKey);
$sessionViews = (int)$sessionViewsArray[0];

echo \'<pre>\';
print_r($sessionViewsArray);
echo \'</pre>\';

echo \'<h1>I think there are \' . $sessionViews . \' views</h1>\';

$lastViewedArray = get_user_meta($current_user->ID, $viewedKey);
$lastViewedTime = $lastViewedArray[0];

if ($lastViewedTime) {
    $lastViewed = date(\'l jS F Y, g:ia\', $lastViewedTime);
} else {
    $lastViewed = \'First time - good luck!\';
}

$newSessionViews = $sessionViews + 1;

update_user_meta($current_user->ID, $sessionKey, $newSessionViews);
update_user_meta($current_user->ID, $viewedKey, time());

echo \'<h1>I think I just updated \' . $sessionKey . \'</h1>\';

///
//  Now let\'s update the page views
///

$pageViewsArray = get_post_meta($post->ID, \'totalviews\');
$pageViews = (int)$pageViewsArray[0];

$pageViews += 1;

update_post_meta($post->ID, \'totalviews\', $pageViews);
值得注意的是,它似乎只是session-ralph 受影响的进入;这个ralph-lastviewed 如果刷新Burt页面,则不会更新条目。

任何帮助都将不胜感激!

更新:

根据下面@dalbaeb的回答,我的解决方案是使用以下挂钩:

remove_action(\'wp_head\', \'adjacent_posts_rel_link_wp_head\', 10, 0);

...删除了<link rel=\'next\'...<link rel=\'prev\'... 标签,并立即解决了问题。

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

您是否碰巧使用Firefox来测试您的页面?如果是,其prefetching function combined with WordPress rel=\'next\' 可能是罪魁祸首。检查页面源中的rel 标记,并查看Firebug是否向href 的属性rel 标签

有一个Firefox扩展Fasterfox, 它将预取所有内容。正在禁用adjacent_posts_rel_link_wp_head 不会有帮助的
在这些情况下,您应该尽早退出代码:

if ( isset ( $_SERVER["HTTP_X_MOZ"] ) and \'prefetch\' === $_SERVER["HTTP_X_MOZ"] )
    return;

结束

相关推荐

自定义帖子类型缩略图/媒体库WP_DEBUG通知

我的自定义帖子类型缩略图似乎工作正常。然而,当我返回编辑我的一个物种配置文件时(在管理区域,这里不谈前端),以下文本直接在我的元框中的特征图像上方涂鸦:Notice: Uninitialized string offset: 0 in /home/my/domain/public-facing.com/public_html/wp-includes/media.php on line 537 Notice: Uninitialized string offset: 0 in /home/