Jednoduchý plugin do WordPressu

Tento článek (nebo jeho část) je převzat z externího zdroje. Je tedy slušností jej uvést včetně případného autora.

Vlastní plugin do WordPressu nemusí být nic složitého a vše záleží, co od něj požadujete. Takový jednoduchý, i když úplně bez nastavení si dnes napíšeme.

WordPress je momentálně nejrozšířenější redakční systém a tak do něj vzniká hodně pluginů. Já jeden takový potřeboval pro notifikování všech Androidích telefonů s novou aplikací Majáles Ostrava, kterou již co nejdříve dokončíme.

Souborová struktura

Struktura souborů pluginů je velmi jednoduchá a máme na výběr 2 možnosti. Vytvoříme si složku a do ní vložíme stejně pojmenovaný PHP soubor. Pokud však je plugin jednoduchý a bude mít pouze 1 soubor, můžeme úroveň se složkou vynechat a vytvořit pouze 1 soubor.

Ať si vybereme jakoukoli možnost, složku s obsahem, nebo jediný soubor, vše uložíme do složky wp-content/plugins/.

Hlavička souboru

Hlavní soubor, musí obsahovat základní informace o pluginu, které se zapisují jako komentář na začátku. Povinný je pouze Plugin Name, můžete toho však vepsat mnohem více. Celý výčet možností najdete v Developers handbook.

Kód pluginu

Nyní můžete již psát samotný kód, vašeho pluginu. Ten se již také objeví v administraci a můžete jej aktivovat. Zde je můj kód s komentáři uvnitř, který blíže popíše chování a možná přidá i nějaké tipy.

Jen zmíním, že samotný kód pluginu se nemusí nijak lišit od filtrů akcí, které jinak můžete psát do functions.php. Pokud bych celý tento kód vložil do functions.php, fungovalo by to úplně stejně, kromě posledního bloku, který se spustí při aktivaci pluginu.

Ukázka oznámení u Novinky, pokud ji budeme odesílat na Google server.

Upozornění na odeslání

Naplánované zveřejnění

Pokud ve WordPressu zvolíte, že se článek má publikovat v budoucnosti, článek se uloží se stavem future a tím pádem se ani neodešle upozornění. Když ale na článek dojde řada, WP upraví stav na public, čímž se opět zavolá save_post akce. Proto není žádný problém články plánovat a oznámení na Google se odešle i později.