Wziąłem kod prosto z jednego z utworzonych przeze mnie motywów i jest to lista wszystkich 50 stanów z nieuporządkowanej listy spakowanej w widżecie, który można po prostu przeciągnąć i upuścić na pasku bocznym.
Problem polega na tym, że gdy próbuję użyć tego kodu w pliku PLUGIN, pojawia się następujący błąd:
Fatal error: Call to a member function register() on a non-object in C:\xampp\htdocs\wordpress\wp-includes\widgets.php on line 431
Dlaczego miałby działać w temacie, ale nie we wtyczce? Nawiasem mówiąc, aktywny motyw NIE jest motywem, z którego wyjąłem kod.
Oto mój kod: http://pastebin.com/ZeRWW3yb
Dzięki.
plugin-development
widgets
Jared
źródło
źródło
Załóżmy, że musisz zainicjować widget w metodzie klasy, przekazując nazwę widgetu jako argument. Aby to osiągnąć, wykonaj następujące czynności:
Zauważ, że musimy
$widget_name
użyć nazwy zmiennej do naszej funkcji lambda, aby z niej skorzystać. Częścią tego jestuse (&$widget_name)
. Jak już wspomniano, haczyków zainicjowanych w ten sposób nie można usunąćremove_action
.źródło