È possibile preimpostare il contenuto di un widget tramite uno script di plugin?

16 dic 2010, 00:43:10
Visualizzazioni: 813
Voti: 0

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');
?>
0
Tutte le risposte alla domanda 2
1

Ci sono alcuni errori nel tuo codice:

  1. 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.

  2. 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);

16 dic 2010 05:10:28
Commenti

@OTP: Così ha funzionato. Grazie per l'aiuto. Ho aggiornato la mia domanda con il codice corretto.

Scott B Scott B
13 mar 2011 04:58:12
0

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.

16 dic 2010 13:54:26