Este posibil să preconfigurezi conținutul unui widget prin intermediul unui script de plugin?

16 dec. 2010, 00:43:10
Vizualizări: 813
Voturi: 0

Acest plugin este un simplu test demonstrativ pentru a verifica dacă pot popula dinamic o zonă de widget existentă cu text. În acest caz, tema mea a creat zona de widget "home-header-widget" și încerc să o populatez cu conținutul din 'text' de mai jos. M-am blocat la linia...

$sidebars_widgets[$sidebar_id] = "widget_text-".$id;

În sensul că nu sunt sigur cum să obțin o referință către obiectul widget text creat dinamic pentru a-i preconfigura conținutul și a-l plasa în interiorul 'home-header-widget'...

<?php
/*
Plugin Name: Test Widget
*/
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');
// găsește un $id care funcționează...
$ops[$id] = array(
  'title' => 'foo hoo',
  'text' => 'bar mitz', // conținut?
);
update_option('widget_text', $ops); 
update_option('sidebars_widgets', $sidebars_widgets);

}

register_activation_hook(__FILE__, 'cb_activate_widgettest');
?>
0
Toate răspunsurile la întrebare 2
1

Sunt câteva greșeli în codul tău:

  1. Trebuie să specifici manual ID-ul instanței, de exemplu 2. Dacă dorești să adaugi un widget text, fără a suprascrie conținutul barei laterale, atunci încearcă să folosești $id = count($opts)+1, sau poți pur și simplu să generezi un ID aleatoriu.

  2. Folosește widget_ID_base-instance_ID în $sidebars_widgets[$sidebar_id] = "widget_text-".$id;, și pune-l într-un array:

    $sidebars_widgets[$sidebar_id] = array("text-".$id);

16 dec. 2010 05:10:28
Comentarii

@OTP: Asta a funcționat. Mulțumesc pentru ajutor. Am actualizat întrebarea mea cu codul corectat.

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

Cum să preconfigurezi un widget de bara laterală cu conținut implicit prin script?
Cum să adaugi mai multe copii ale unui widget din „widget-uri disponibile”
https://wordpress.stackexchange.com/questions/5282/code-to-dynamically-populate-a-widget-with-preset-content

Acesta este al patrulea tău subiect despre configurarea widget-urilor, nu putea fi abordat în cadrul altor subiecte ale tale despre widget-uri?

Simt că aceste subiecte despre widget-uri încep să devină oarecum repetitive.

16 dec. 2010 13:54:26