Wordpress: почему хук инициализации вызывается несколько раз? - PullRequest
8 голосов
/ 07 декабря 2010

Я в полном недоумении от этой проблемы.Я только что создал плагин, и для регистрации действий в плагине (поскольку я не вижу результатов обработки), я добавил хук для инициализации следующим образом:

add_action('init', 'test_hook');

function test_hook()
{

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

}

Что приводит меня в подчинение, так это то, что вместо одной строки ввода на загрузку страницы я получаю от 1 до 8 записей строки в одном и том же журнале с разными отметками времени .Количество записей, которые вводятся, является непоследовательным и кажется совершенно случайным (иногда я думаю, что это зависит от текущих погодных условий или индекса фондовой биржи).

Я сделал стандартные проверки, отключил все остальные плагины, но безрезультатно.Я искал код для всего, что делает do_action('init'), но мне указали только на один звонок в wp-settings.php.

Вы тоже сталкивались?Что ты сделал?

Ответы [ 2 ]

19 голосов
/ 07 декабря 2010

Есть ли у вас какие-либо ссылки на сайте (изображения, скрипты, таблицы стилей и т. Д.), Относящиеся к 404-му?Если это так, то на странице 404 по умолчанию будет отображаться страница «Вы ищете что-то, чего нет здесь» в теме сайта по умолчанию, так что в итоге вы получите вызов init, вызываемый один раз для запроса начальной страницы, плюс один раз для каждогоплохая ссылка.

Дважды проверьте Firebug и посмотрите, не вызывается ли что-нибудь неправильно.

1 голос
/ 30 января 2013

После ответа Роба Уильямса я прочитал этот пост:

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

И понял, что теги ссылок с rel = "next" и rel = "prev" уже второй раз запускали мой крючок инициализации на моем сайте WordPress 3.5.1. Эти теги можно удалить, добавив это в файл functions.php темы:

remove_filter('wp_head','adjacent_posts_rel_link_wp_head',10);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...