Проблема с PHP-сессиями в WordPress с постоянными значениями по умолчанию

У меня возникла странная проблема, возникающая при изменении постоянных ссылок по умолчанию в WordPress.

Когда я помещаю этот код в свой файл functions.php в свою тему (или даже в корневой файл index.php в WordPress) и перемещаюсь между и обновляя несколько страниц (например, страницу / about), мой счетчик часто работает дважды.

Эта проблема воспроизводится на каждом сервере, который я пробовал, и на любой теме или установке WordPress. Еще одна вещь, которая делает мой мозг еще более запутанным, заключается в том, что он не встречается в Safari, Internet Explorer (6, 7 и 8), но только в Firefox . Я использую Firefox 3.6.8 и пробовал его как в Mac OS X, так и в Windows XP.

session_start(); $counter = $_SESSION['wp_action_counter']; if( !isset($counter) ){ $counter = 0; } $counter++; echo $counter; $_SESSION['wp_action_counter'] = $counter; 

Мои правила .htaccess выглядят так:

 <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> 

Мне любопытно, почему это происходит и когда-либо благодарит того, кто может помочь мне решить проблему.

Если он увеличивается в два раза, эти два запроса отправляются на ваш сервер, проверяют журнал сервера или устанавливают firebug и просматривают вкладку net, таким образом вы можете убедиться, что происходит, вместо того, чтобы предположить, что это может быть (ссылка предварительно запрограммирован , запрашивается php-сгенерированное изображение ..).

Просто идея … есть ли сломанный образ, скрипт, css (или что-то вроде), который запускает второй запрос? У меня была эта проблема некоторое время назад, и IE кэшировал полученный результат 404, но FF всегда повторно запрашивает сломанное изображение. Путь изображения был переписан на мой индексный путь, который вызвал счетчик …

Я наконец выяснил, в чем проблема.

Когда у меня есть <?php wp_head(); ?> <?php wp_head(); ?> в моем заголовке, WordPress добавляет эту строку:

 <link rel='next' title='About' href='http://mysite.dev/about/' /> 

Эта ссылка предварительно загружена, и это причина, по которой счетчик работает дважды. Настройка вывода wp_head(); или его устранение решает проблему.

Вы можете найти информацию о том, как управлять выходом в своем заголовке здесь: http://wpquicktips.wordpress.com/2010/08/30/keep-a-track-of-what-happens-in-your-header-and -footer /