Mein Plugin erstellt benutzerdefinierte Widgets. Wie kann ich sie programmatisch zu vorhandenen Widget-Bereichen hinzufügen?

OK, ich kann den Code zum Hinzufügen von benutzerdefinierten Widgets zum Widgets-Manager erstellen. Prüfen.

Meine nächste Herausforderung besteht darin, im selben Plugin während der Aktivierung nach dem Vorhandensein meines Themas zu suchen und, falls aktiv, die Widget-Bereiche mit den benutzerdefinierten Widgets, die ich gerade erstellt habe, vorab zu füllen.

Ich hoffe das macht Sinn. Wenn ich dies tun kann, wird es viel Zeit sparen, meine Standard-Design-Einstellungen zu konfigurieren (und zu erklären, wie sie konfiguriert werden), die stark auf benutzerdefinierte Widgets angewiesen sind. Dinge wie ein optimales E-Mail-Formular, ein benutzerdefiniertes Slider-Widget usw.

Danke im Voraus, wenn mir hier jemand helfen kann.

Hier sind die Standard-Seitenleisten meines Themas …

if ( function_exists('register_sidebar') ) register_sidebar(array( 'name' => 'Home Sidebar', 'id' => 'home-sidebar-widget', )); if ( function_exists('register_sidebar') ) register_sidebar(array( 'name' => 'Home Header Area', 'id' => 'home-header-widget', )); if ( function_exists('register_sidebar') ) register_sidebar(array( 'name' => 'Inside Header Area', 'id' => 'inside-header-widget', )); if ( function_exists('register_sidebar') ) register_sidebar(array( 'name' => 'Home Footer Area', 'id' => 'home-footer-widget', )); if ( function_exists('register_sidebar') ) register_sidebar(array( 'name' => 'Inside Footer Area', 'id' => 'inside-footer-widget', )); if ( function_exists('register_sidebar') ) register_sidebar(array( 'name' => 'Inside Sidebar', 'id' => 'inside-sidebar-widget', )); 

Solutions Collecting From Web of "Mein Plugin erstellt benutzerdefinierte Widgets. Wie kann ich sie programmatisch zu vorhandenen Widget-Bereichen hinzufügen?"

Sidebars sind in der Option 'sidebars_widgets' registriert. Um zu sehen, was drin ist und was nicht, versuchen Sie Folgendes:

 add_action( 'wp_footer', 'show_my_sidebars' ); function show_my_sidebars() { $sw = get_option( 'sidebars_widgets' ); print '
' . htmlspecialchars( print_r( $sw, TRUE ) ) . '

'; }

Beispielausgabe:

 Array ( [sidebar-footer-left] => Array ( [0] => archives-3 ) [sidebar-footer-right] => Array ( [0] => recent-comments-3 )[array_version] => 3 ) 

Aktivieren Sie daher die Option in jedem Aktivierungs-Hook und fügen Sie Ihre Widgets ein, wenn sie nicht bereits vorhanden sind.

Und höre auf mit if ( function_exists('register_sidebar') ) . Möchtest du wirklich vier Jahre alte WP-Versionen unterstützen?