Intereting Posts
WordPress function.php на ZendFramework CMS Добавление JS в заголовке при использовании wp_enqueue_script в коротком коде есть ли какие-либо инициативы для работы WordPress в качестве микросервисов? Смешанный контент с SSL, wordpress за обратным прокси Как отображать конкретные пользовательские сообщения и как редактировать уникальную страницу сообщения? Как я могу создать рассылку для своего блога wp? Использование лицензированного MIT лицензированного niftyPlayer в WordPress Hosted Plugin (Premium и бесплатные версии) Как определить почтовые заголовки как изображения с помощью пользовательских полей? Проверьте, был ли комментарий успешно отправлен Список всех заголовков в категории с помощью functions.php Настроить profile.php wp_postmeta – много мета полей Что именно ищет параметр «s» в запросах WP? Для производительности лучше создавать пользовательские функции в теме или плагине Как получить дату для каждого сообщения?

«все» и «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 не загружается вообще)

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

Solutions Collecting From Web of "«все» и «get_option»"

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();