Snippety

Tvorba a registrace WordPress widgetu

Autor příspěvku Tomáš Cirkl

Tento článek je druhým dílem série zabývající se tvorbou WordPress widgetu.

  1. Co byste měli vědět než se pustíte do tvorby prvního widgetu
  2. Tvorba a registrace WordPress widgetu
  3. Tvorba samotného widgetu
  4. Tvorba formuláře pro váš WordPress widget
  5. Zobrazení widgetu na stránce

Co budete potřebovat

K tomu, abyste mohli pokračovat ve tvorbě widgetu, budete potřebovat:

  • developerskou instalaci WordPressu
  • vývojářský editor (doporučuji PSPad)

Tvorba pluginu

První věc, kterou musíte udělat je vytvořit plugin. Vytvořte nový soubor ve složce wp-content/plugins. Já jsem ten svůj pojmenoval wplama-seznam-podstranek.php.

Vložte do něj následující kód:

<?php 
/*Plugin Name: Widget Seznam podstránek
Description: Tento widget kontroluje, zda má současná stránka nadřazené nebo podřazené stránky. Pokud tomu tak je, pak zobrazí seznam stránek, v kterém se nachází.
Version: 0.1
Author: Tomáš Cirkl
Author URI: https://wplama.cz
License: GPLv2
*/
?>

Samozřejmě nezapomeňte změnit autora, URL adresu a případně i další popisky pluginu.

Tvorba třídy widgetu

Dalším krokem je tvorba nové třídy widgetu, která bude rozšiřovat třídu WP_Widget.

Do pluginu vložte následující kód:

<?php
class Tutsplus_List_Pages_Widget extends WP_Widget {
    
	function __construct() {
	}
	
	function form( $instance ) {
	}
	
	function update( $new_instance, $old_instance ) {		
	}
	
	function widget( $args, $instance ) {
		
	}
	
}
?>

Podívejme se co obsahuje:

  • funkce _contruct tvoří funkci. Uvnitř této funkce definujeme věci jako ID widgetu, jeho název a popis.
  • funkce form tvoří formulář, který bude zobrazen ve Vzhled -> Widgety. Slouží k přizpůsobení widgetu.
  • funkce update zajišťuje, že se aktualizuje nastavení, které uživatelé do nastavení widgetu vložili.
  • funkce widget definuje výstup widgetu při zobrazení na stránce.

Další parametry si rozebereme později.

Registrace widgetu

Nově vytvořený widget nebude fungovat dokud nebude registrován. Pod třídu vložte funkci a zavěste do ní toto:

<?php
function tutsplus_register_list_pages_widget() {

    register_widget( 'Tutsplus_List_Pages_Widget' );

}
add_action( 'widgets_init', 'tutsplus_register_list_pages_widget' );
?>

Funkce register_widget() je WordPress funkce, která obsahuje pouze jeden parametr a to jméno třídy, kterou jste právě vytvořili.

Následně pak zavěsíte vaší funkci pomocí widgets_init a ujistíte se, že ji WordPress zaznamená.

Poznámka: Plugin můžete klidně aktivovat, ale nic zatím nedělá. Ani widget se zatím zobrazovat nebude.

Zdroj: Coding and Registering Your WordPress Widget – Tuts+ Code Tutorial

O autorovi

Tomáš Cirkl

Baví mě Internet a zvláště pak redakční systém WordPress. Jsem pravidelným účastníkem a přednášejícím na WordCamp Praha a WordPress konferencích.

Zanechat komentář

Získejte více informací o WordPress!

Připojte se do našeho emailového seznamu a nenechte si ujít informace, novinky a návody ze světa WordPressu.

Úspěšně jste se zapsali do našeho newsletteru. Děkujeme!