Własny widget dla Wordpressa

Wordpressowy sidebar bardzo mi się podoba – nie muszę grzebać w kodzie, by coś poprzesuwać, zmieniać. Jednak zanim napiszesz własny prosty widget, pamiętaj, jest jeden mały “myk” ;-) W dokumentacji Widget API napisano, że aby zarejestrować nowy widget należy wywołać (np. w pluginie) register_sidebar_widget(). Szkoda tylko, że ktoś nie wspomniał o tym, że w najnowszych wersjach WP (bodajże od 2.5.x) ta funkcja dołączana jest przez core Wordpressa później niż plugin w związku z tym otrzymujemy piękny komunikat:

Call to undefined function: register_sidebar_widget

“Szybkie” rozwiązanie zostało przedstawione w tym poście, chociaż wydaję mi się trochę błędne, stąd też sadzę, że ten kod jest lepszy:

function widget_becool ($args) {
echo $args['before_widget'];
echo $args['before_title'];
echo ‘Becool!’;
echo $args['after_title'];
// sth
echo $args['after_widget'];
}

function widget_init_becool() {
register_sidebar_widget( ‘Becool’, ‘widget_becool’ );
}
add_action(‘widgets_init’, ‘widget_init_becool’);

Można użyć create_function(), ale myślę, że tak jest czytelniej :-)

0 Responses to “Własny widget dla Wordpressa”


  1. No Comments

Leave a Reply