2010-12-07 13 views
7

Estoy en una verdadera pérdida por este problema. Acabo de crear un plug-in, y para registrar las acciones en el plug-in (ya que no puedo ver la salida del procesamiento), he añadido un gancho a init así:Wordpress: ¿por qué se invoca el hook init varias veces?

add_action('init', 'test_hook'); 

function test_hook() 
{ 

    global $wpdb; 
    $message = "Some informational message here"; 
    $wpdb->insert("pq_logs", array("message"=>$message), array("%s")); 

} 

lo que está trayendo En sumisión, en lugar de obtener una línea de entrada por carga de página, obtengo de 1 a 8 entradas de fila del mismo registro , con diferentes marcas de tiempo. El número de entradas que se ingresan es inconsistente y parece estar totalmente al azar (a veces estoy pensando que depende de las condiciones climáticas actuales o del índice bursátil).

Hice las comprobaciones estándar, apagué todos los demás complementos, pero fue en vano. Busqué el código para cualquier cosa que haga do_action('init'), pero solo me señalaron una llamada al wp-settings.php.

¿Has encontrado también? ¿Qué hiciste?

Respuesta

16

¿Tiene algún enlace en el sitio (imágenes, secuencias de comandos, hojas de estilo, etc.) que sean 404 '? Si es así, la página 404 predeterminada mostrará una página "Estás buscando algo que no está aquí" en el tema predeterminado del sitio, por lo que terminarás obteniendo el gancho init llamado una vez para la solicitud de página inicial, más una vez para cada mal enlace.

Comprobación doble con Firebug y ver si se llama incorrectamente algo.

+0

Buena idea, voy a verificar y ver si eso es todo. –

+0

Usted, señor, es maravilloso. Eso es todo, las imágenes faltantes en CSS invocadas a través de url(). ¡Gracias! –

+1

Solo para agregar, al inspeccionar los encabezados HTTP que aparecen y desaparecen (utilicé la extensión HTTP Firefox de Live Header), hay algunos complementos que hacen algunas acrobacias ajax (el mío es WP E-commerece). Lo hace invocando index.php? Wsc_something = something, que por supuesto también activa el enganche init. –

1

Después de la respuesta Rob Williams He leído este post:

http://www.tastyplacement.com/how-to-remove-link-relprev-and-link-relnext-from-wordpress-head

y se dio cuenta de que las etiquetas de enlace con rel = "next" y rel = "prev" estaba corriendo mi gancho de inicio para una segunda vez en mi sitio web WordPress 3.5.1. Estas etiquetas se pueden eliminar agregando esto al archivo functions.php del tema:

remove_filter('wp_head','adjacent_posts_rel_link_wp_head',10); 
Cuestiones relacionadas