Widget w WordPressie z najpopularniejszymi postami bez użycia plugin’u
Na początku zmieniamy nazwę klasy z My_Widget
na powiedzmy najpopularniejszePostyWidget
:
class najpopularniejszePostyWidget extends WP_Widget {
Utworzona przez nas nowa klasa jest oczywiście rozszerzeniem klasy systemowej WP_Widget
.
Kiedy uporaliśmy się z powyższym punktem przyszła pora aby zająć się konstruktorem. Musimy tam ustawić najważniejsze parametry naszego widgetu takie jak: $widget_id
, $widget_name
oraz $widget_opt
. Gotowy kod będzie wyglądał tak:
public function __construct() { $widget_id = 'najpoularniejszePosty'; $widget_name = __('Widget z najpopularniejszymi postami', 'najpopularniejszePosty'); $widget_opt = array('description' => 'Ten widget wyświetla najpouplarniejsze posty na blogu.'); parent::__construct($widget_id, $widget_name, $widget_opt); }
W tym momencie tworzony przez nas widget działa już poprawnie ale nic nie robi. Aby „zobaczyć” go w panelu administracyjnym WordPress’a musimy przejść pliku function.php
używanego szablonu i zarejestrować nowy widget:
function najpopularniejszePosty_init() { require get_template_directory() . '/widgets/najpopularniejsze-posty-widget.php'; register_widget( 'najpopularniejszePostyWidget' ); //nazwa utworzonej klasy } add_action( 'widgets_init', 'najpopularniejszePosty_init' ); //nazwa wyżej utworzonej funkcji
W zakładce Widgety będziemy mieli teraz taką opcję:
A po przeciągnięciu widgetu „Widget z najpopularniejszymi postami” na wybrany sidebar ukarze się nam coś takiego: