È possibile preimpostare il contenuto di un widget tramite uno script di plugin?
Questo plugin è un semplice test dimostrativo per verificare se posso popolare dinamicamente un'area widget preesistente con del testo. In questo caso, il mio tema ha creato l'area widget "home-header-widget" e sto cercando di popolarla con il contenuto di 'text' qui sotto. Sono bloccato alla riga...
$sidebars_widgets[$sidebar_id] = "widget_text-".$id;
In particolare non sono sicuro di come ottenere un riferimento all'oggetto widget text creato dinamicamente per preimpostarne il contenuto e posizionarlo all'interno del mio 'home-header-widget'...
<?php
/*
Plugin Name: Widget Test
*/
function cb_activate_widgettest(){
$sidebar_id = 'home-header-widget';
$sidebars_widgets = get_option('sidebars_widgets');
$id = count($opts)+1;
$sidebars_widgets[$sidebar_id] = array("text-".$id);
$ops = get_option('widget_text');
// trova un $id che funzioni...
$ops[$id] = array(
'title' => 'foo hoo',
'text' => 'bar mitz', // contenuto?
);
update_option('widget_text', $ops);
update_option('sidebars_widgets', $sidebars_widgets);
}
register_activation_hook(__FILE__, 'cb_activate_widgettest');
?>

Ci sono alcuni errori nel tuo codice:
Devi specificare manualmente l'ID dell'istanza, ad esempio 2. Se vuoi aggiungere un widget di testo senza sovrascrivere i contenuti della sidebar, prova a usare
$id = count($opts)+1
, oppure potresti semplicemente generare un ID casuale.Usa widget_ID_base-instance_ID in
$sidebars_widgets[$sidebar_id] = "widget_text-".$id;
, e inseriscilo in un array:$sidebars_widgets[$sidebar_id] = array("text-".$id);

Come preimpostare un widget della sidebar con contenuto predefinito tramite script?
Come aggiungere più copie di un widget dai "widget disponibili"
https://wordpress.stackexchange.com/questions/5282/code-to-dynamically-populate-a-widget-with-preset-content
Questo è il tuo quarto argomento sulla configurazione dei widget, non poteva essere affrontato insieme a uno degli altri tuoi argomenti sui widget?
Credo che questi argomenti sui widget stiano iniziando a diventare un po' ripetitivi.
