Я взял код прямо из одной из созданных мной тем, и это список всех 50 состояний в неупорядоченном списке, упакованном в виджет, который можно просто перетащить на боковую панель.
Проблема в том, что когда я пытаюсь использовать этот код в файле PLUGIN, я получаю следующую ошибку:
Fatal error: Call to a member function register() on a non-object in C:\xampp\htdocs\wordpress\wp-includes\widgets.php on line 431
Почему это работает в теме, а не в плагине? Кстати, активная тема - это НЕ тема, из которой я вынул код.
Вот мой код: http://pastebin.com/ZeRWW3yb
Благодарю.
plugin-development
widgets
Джаред
источник
источник
Допустим, вам нужно инициализировать виджет внутри метода класса, передав имя виджета в качестве аргумента. Для этого вам нужно сделать следующее:
Обратите внимание, что нам нужно передать
$widget_name
имя переменной в нашу лямбда-функцию, чтобы использовать ее. Часть, которая делает этоuse (&$widget_name)
. Как уже отмечалось, такие инициализированные хуки не могут быть удаленыremove_action
.источник