Crearea unui widget personalizat în WordPress nu este deloc complicată dacă ai cunoștințe de bază în PHP și înțelegi modul în care funcționează API-ul dedicat de widgeturi. Începând cu versiunea WordPress 2.8, platforma a introdus clasa nativă WP_Widget, care simplifică considerabil dezvoltarea de componente modulare pentru zonele de sidebar și footer.
În continuare, vă prezentăm structura esențială de cod PHP pe care o puteți adapta cu ușurință pentru a vă construi propriul widget:
Structura de bază a unei clase de widget
[php]
class My_Widget extends WP_Widget {
function My_Widget() {
// Inițializează widgetul cu id și titlu
parent::WP_Widget(false, ‘Our Test Widget’);
}
function form($instance) {
// Afișează formularul cu opțiuni în panoul de administrare
}
function update($new_instance, $old_instance) {
// Procesează și salvează opțiunile widgetului
return $new_instance;
}
function widget($args, $instance) {
// Afișează conținutul widgetului pe pagină (frontend)
}
}
// Înregistrarea widgetului în WordPress
register_widget(‘My_Widget’);
[/php]
Explicația metodelor principale
My_Widget()(sau constructorul): configurează identificatorul unic și numele vizibil al widgetului în secțiunea Aspect > Widgeturi.form($instance): generează câmpurile de configurare (input-uri, selectoare etc.) disponibile administratorului în dashboard.update($new_instance, $old_instance): validează și sanitizează datele trimise din panoul de administrare înainte de a fi salvate în baza de date.widget($args, $instance): randează efectiv HTML-ul și conținutul widgetului în temă, pentru vizitatorii site-ului.
Acest schelet de cod poate fi inclus în fișierul functions.php al temei active sau într-un modul (plugin) dedicat. Exemplul de mai sus este inspirat dintr-un tutorial detaliat publicat inițial pe blogul lui Darren Hoyt, disponibil aici.
nu prea inteleg functionabilitatea lui…
Nu are o functionalitate anume… e doar facut sa exemplific cum poate fi facut un widget