Automatický seznam dokumentů a souborů na WordPressu – Simple FTP Directory Lister

Nedávno jsem potřeboval na WordPress webovou stránku přidat celkem dost dokumentů, souborů, návodů k různým produktům ke stažení. Prostě vytvořit celou sekci „Ke stažení“, kde bude vše hezky přehledně strukturované s možností stažení. Přidávat soubory manuálně do kódu je nejen časově náročná záležitost ale z dlouhodobého hlediska i neudržitelná. Dříve či později člověk udělá chybu a soubor nebude dostupný.

Začal jsem tedy hledat automatické řešení. V minulosti jsem u PHP projektů mimo WordPress pracoval s Directory Lister, který funguje skvěle. Dopisoval jsem k němu jen funkce generování náhledů obrázků a přihlašování uživatelů a jejich práva. Ale na WordPress varianta tohoto pluginu není. A nebyla ani žádná alternativa snadného zobrazení obsahu složky a podsložek. Vše dostupné bylo z mého pohledu zbytečně složité a krkolomně spravované z WordPressu (všechny soubory bylo nutné přidávat přes WordPress administraci…).

A tak jsem sednul a napsal jednoduchý plugin Simple Directory FTP Lister.

Po instalaci pluginu v nastavení (Nastavení -> Simple Directory FTP Lister Settings) jednoduše nastavíte cestu ke složce, jejíž obsah chcete na stránkách zobrazovat. Složka z bezpečnostních důvodů musí být v upload složce WordPress instalace – např. /wp-content/uploads/navody. Plugin bude ze zvolené složky vyčítat veškeré soubory, podsložky a jejich soubory a vytvoří jednoduchou strukturu. Tuto strukturu následně plugin obsluhuje pomocí jQuery.

Z nastavení zkopírujete shortcode [simple-ftp-directory-lister] a ten vložíte do kterékoliv stránky WordPressu a dáte publikovat. A to je vše.
Na této stránce/stránkách bude plugin automaticky vypisovat obsah složky, kterou jste zvolili v nastavení. Vzhled výpisu můžete měnit ve stylech. Prázdné složky se automaticky ve výpisu schovají.

Plugin můžete vyhledat a stáhnout přímo z Vaší WordPress administrace, sekce instalace pluginů. Případně na následujícím odkazu: https://wordpress.org/plugins/simple-ftp-directory-lister/

Živá ukázka pluginu: