Intereting Posts
Как удалить ссылки из функции «Получить список терминов»? Пользовательский тип почтового отправления и пользовательская таксономия не связаны Использовать posts_where для исключения сообщений из wp_query. Колонка администратора не заполняется данными Как сделать трансляционное название the_tags? Как использовать WP_Query для получения пользовательского типа сообщений с ключевыми словами Жирные буквы внутри выдержки Пользовательский заказ для персонализированного типа сообщения Как сохранить открытый / закрытый и скрытый / отображаемый статус метаболизма, сохраненный на основе столбцов? Функция Ajax возвращает -1 Совместное использование общих библиотек по нескольким темам / плагинам Как / где заполняется глобальная переменная $ wp_registered_widgets? Скрипт Enqueue: ссылка не работает в источнике страницы Добавление меню администратора в wordpress Как сделать ссылку на разные категории, которые в них загружают разные меню?

«все» и «get_option»

код: http://pastebin.com/0LEqgRUZ

Я столкнулся с проблемой с моим плагином. (На самом деле это плагин на основе класса) Я пытаюсь использовать функцию get_option . Когда я просто делаю var_dump(get_option('option_name', 1)) где-то в функции plugin_options (вы увидите список кодов) – он выводит int(1)

Проблема в том, что я не могу использовать get_option внутри моего метода log_to . Метод log_to привязан к «все». Поэтому я думаю, поэтому это не работает. (даже wp не загружается вообще)

Кто-нибудь знает разрешение?

get_option запускает крючки, поэтому вы запускаете бесконечный цикл (или нечто подобное, если не бесконечно). Ваши обратные вызовы get_option , которые запускают крючки, используемые get_option . Каждый крючок снова вызывает обратный вызов, который использует get_option который запускает крючки, используемые get_option . И так далее…

Получите значение параметра в конструкторе вне метода обратного вызова. Таким образом, когда ваш обратный вызов работает, он непреднамеренно запускает себя. Доказательство концепции:

 class WP_Test_Logging_Plugin { static $data = array(); public function __construct() { $this->data = get_option('option_name', 1); add_action( 'all', array( $this, 'log_to' ) ); } public function log_to() { $hook = current_filter(); var_dump($hook,$this->data); } } $ntlp = new WP_Test_Logging_Plugin();