Intereting Posts
Создание лучшего медиа-загрузчика для WordPress Показать все видео по тегу Скрытие пользовательских функций темы с использованием возможностей Получение неправильного значения отношения в $ args в wp_Query? Как загрузить кусок mycred из плагина? Показывать авторскую страницу без записей Как получить идентификатор таксономии на другой странице таксономии Как переписать пул для персонализированного типа сообщения с базовым URL-адресом категории Правила перезаписи: Идентификатор сообщения в Post Slug для пользовательского типа сообщения Что такое замена rich_edit_exists ()? Разрешить разные теги <span> в заголовках виджетов Javascript, чтобы открыть новое окно Страница возврата / Идентификаторы дочерних элементов WP_Nav_Menu Предупреждение: Сужение произошло во время вывода типа. Пожалуйста, напишите отчет об ошибке на bugs.php.net Пустое теги заголовка

«все» и «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();