Problema con las sesiones de PHP en WordPress con enlaces permanentes no predeterminados

Estoy experimentando un problema extraño que ocurre cuando cambio los enlaces permanentes predeterminados en WordPress.

Cuando coloco este código en mi archivo functions.php en mi tema (o incluso en el archivo raíz index.php en WordPress) y navego entre y actualizando algunas páginas (por ejemplo, la página / about), mi contador a menudo se ejecuta dos veces.

Este problema se reproduce en cada servidor que probé y en cualquier tema o instalación de WordPress. Otra cosa que hace que mi cerebro esté aún más confundido es que no ocurre en Safari, Internet Explorer (6, 7 y 8), sino solo en Firefox . Estoy usando Firefox 3.6.8 y lo he probado tanto en Mac OS X como en Windows XP.

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

Mis reglas de .htaccess se ven así

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

Tengo curiosidad por saber por qué sucede esto y siempre estoy agradecido a quien me puede ayudar a resolver el problema.

Si se incrementa dos veces, estas dos solicitudes van a su servidor, verifique el registro del servidor, o instale firebug y mire la pestaña de red, de esta manera usted puede estar seguro de lo que realmente está sucediendo, en lugar de asumir lo que podría ser (un enlace es captado previamente , se está solicitando una imagen generada por php …).

Solo una idea … ¿hay alguna ruta de imagen, script, css (o algo así) rota que inicie una segunda solicitud? Tuve ese problema hace un tiempo e IE almacenó en caché el resultado 404 pero FF siempre volvió a solicitar la imagen rota. La ruta de la imagen se reescribió en mi ruta de índice que activó un contador …

Finalmente descubrí cuál es el problema.

Cuando tengo en mi encabezado, WordPress agrega esta línea:

  

Este enlace se capta previamente y esta es la causa por la cual el contador se ejecuta dos veces. Ajustando la salida de wp_head(); o eliminarlo resuelve el problema.

Puede encontrar información sobre cómo controlar la salida en su encabezado aquí: http://wpquicktips.wordpress.com/2010/08/30/keep-a-track-of-what-happens-in-your-header-and -pie de página/