Wie platziere ich dieselben Widgets bei der Theme-Aktivierung standardmäßig mehrfach?

Ich erstelle ein Portfolio-Theme und möchte einige Widgets standardmäßig in der Sidebar bei der Theme-Aktivierung platzieren. Ich habe es gemacht, aber das Problem ist, dass ich das Text-Widget zweimal an der gleichen Seitenleiste wie in der primären Seitenleiste platzieren möchte, aber irgendwie wird mein zweites Widget nicht gespeichert / platziert.

Was soll ich machen?

$sidebars_widgets = array(); $text = array(); $text[0] = array( "title" => 'Special Offers', "text" => 'Super Discount offers for everyone. 25% Discount. Come, visit our Hotel at a special discounted rate.', ); $text[1] = array( "title" => 'Offers 2', "text" => '25% Discount. Come, visit our Hotel at a special discounted rate.', ); $text['_multiwidget'] = '1'; update_option( 'widget_text', $text ); $sidebars_widgets[ "primary-sidebar" ] = array("text-{$text[0]}","text-{$text[1]}"); update_option( 'sidebars_widgets', $sidebars_widgets ); 

Solutions Collecting From Web of "Wie platziere ich dieselben Widgets bei der Theme-Aktivierung standardmäßig mehrfach?"

Sie sind mit Ihrem Code ziemlich fertig. So werden Widgets nicht gespeichert (zumindest seit 2.8), und Sie versuchen Arrays in Strings zu injizieren!

Das Einstellen von Standard-Widgets (zumindest im Admin) scheint eine komplexe und unordentliche Aufgabe zu sein. Ich würde mich stattdessen lieber für Standard-Widgets in der Anzeigelogik entscheiden .

 < ?php if ( ! dynamic_sidebar( 'primary-sidebar' ) ) : ?> 
My default widgets!
< ?php endif ?>

Der Inhalt der if statement wird gedruckt, wenn keine Widgets konfiguriert wurden, was bei der anfänglichen Aktivierung des Themas der Fall sein wird.