reklama

jak vytvářet widgetyMnoho bloggerů bude hledat vysoko a nízko po dokonalém widgetu WordPress, který bude dělat přesně to, co chtějí, ale s trochou zkušeností s programováním je pro vás snadnější psát vlastní widget.

Tento týden bych chtěl ukázat, jak přesně to udělat, a widget, který budeme psát, je jednoduchý, který vybere jeden náhodný příspěvek z vašeho web, vytáhne doporučený obrázek a zobrazí jej na postranním panelu - vizuální widget „check this out“, který pomůže uživatelům najít více obsahu na vašem web.

To je také rozšíření pokračující série, ve které vám ukážu, jak snadné to je přizpůsobte si šablonu WordPress 2 nové skvělé pluginy Wordpress a porozumění struktuře motivů WordpressTento týden se podívám na vynikající alternativu k často oceňovanému All-In-One SEO; plugin, který vám dává sílu publikačního systému Wordpress, ale umožňuje vám výstup ... Přečtěte si více .

Možná vás také potěší, že jsme přidali nový Kategorie výukových programů WordPress na MakeUseOf, tak se podívejte na stále rostoucí archiv aktuálních tipů a průvodců světové oblíbené blogovací platformy.

Klíčové pojmy: WordPress Queries a Loop

Každá stránka vašeho blogu sestává z dotazu do vaší databáze příspěvků. V závislosti na zobrazené stránce se dotaz změní. Například vaše domovská stránka blogu může použít dotaz „získejte posledních 10 blogových příspěvků“. Při prohlížení archivů kategorií se dotaz může změnit na „získejte posledních 20 příspěvků pouze pro rodinné fotografie kategorie, výsledky objednávejte podle data zveřejnění“. Každý dotaz vrátí sadu výsledků a v závislosti na použité šabloně stránky bude každý výsledek spuštěn prostřednictvím hlavní „smyčky“ šablony.

Každá stránka se však může skládat z více než jednoho dotazu a můžete si dokonce vytvořit vlastní dotazy, abyste přidali funkčnost na různá místa v šabloně. V dolní části tohoto článku můžete vidět příklad toho, co se používá - máme několik dalších dotazů, které běží každá stránka, která si klade za cíl ukázat související články, které by vás mohly zajímat, nebo články, které to trendují týden.

Abychom však vytvořili náš vlastní widget, budeme si muset jednoduše vytvořit další dotaz, který zachytí X počet náhodných příspěvků plus jejich obrázky a nějakým způsobem je zobrazí na postranním panelu. Už jsem vám minulý týden ukázal kód chytit hlavní obrázek Nastavte si blog pomocí WordPress: The Ultimate GuideChcete založit svůj vlastní blog, ale nevíte jak? Podívejte se na WordPress, nejvýkonnější platformu pro blogování, která je dnes k dispozici. Přečtěte si více , takže opravdu potřebujeme vědět, jak vytvořit nový widget WordPress a umístit jej na postranní panel.

Základní kód widgetu

Začněte vytvořením nového souboru .php ve vašem wp-content / pluginy adresář. Můžete také sledovat tutoriál offline a poté jej nahrát pomocí rozhraní WordPress, ale je pro mě snazší psát, jak budeme postupovat v případě, že potřebujete ladit. Zavolej svůj soubor, jak se ti líbí, ale já jdu s random-post-widget.php

Vložte následující do souboru a uložte. Neváhejte změnit část v horní části se svým jménem v ní, ale zbytek kódu zatím neupravujte. Toto je v podstatě kostra prázdného widgetu a můžete vidět, kde se říká // WIDGET KÓD ZÍSKÁ ZDE je místo, kde později přidáme naši funkčnost.

php. /* Název pluginu: Náhodný příspěvek Widget. URI modulu plug-in: http://jamesbruce.me/ Popis: Widget Random Post Widget zachytí náhodný příspěvek a přidruženou miniaturu, která se zobrazí na vašem postranním panelu. Autor: James Bruce. Verze: 1. URI autora: http://jamesbruce.me/ * / třída RandomPostWidget rozšiřuje WP_Widget. {function RandomPostWidget () {$ widget_ops = array ('classname' => 'RandomPostWidget', 'description' => 'Zobrazí náhodný příspěvek s miniaturou'); $ this-> WP_Widget ('RandomPostWidget', 'Random Post and Thumbnail', $ widget_ops); } funkční forma ($ instance) {$ instance = wp_parse_args ((array) $ instance, array ('title' => '')); $ title = $ instance ['title'];

php} aktualizace funkce ($ new_instance, $ old_instance) {$ instance = $ old_instance; $ instance ['title'] = $ new_instance ['title']; return $ instance; } funkční widget ($ args, $ instance) {extrahovat ($ args, EXTR_SKIP); echo $ before_widget; $ title = empty ($ instance ['title'])? '': apply_filters ('widget_title', $ instance ['title']); if (! empty ($ title)) echo $ before_title. $ title. $ after_title;; // WIDGET CODE GOES HERE echo "

Toto je můj nový widget!

"; echo $ after_widget; } } add_action ('widgets_init', create_function ('', 'return register_widget ("RandomPostWidget");'));

V současné době se plugin příliš neliší od vytištění velkého názvu slovy „Toto je můj nový widget!“.

jak vytvářet widgety

Dává vám však možnost změnit název, který je pro jakýkoli widget nezbytný. Přidání dalších možností je dnes trochu nad rámec tohoto článku, takže nyní pojďme dát skutečný účel.

napište svůj vlastní widget

Nový dotaz a smyčka

Chcete-li vytvořit nový dotaz do své databáze blogů, musíte použít query_posts () fungují spolu s několika parametry, pak projdou výstupem pomocí smyčky while. Zkusme to - velmi jednoduchý dotaz a smyčku, kterou předvedeme. Nahraďte řádek kódu, který říká:

s následujícím:


// WIDGET KÓD ZÍSKÁ ZDE. query_posts (''); if (have_posts ()): while (have_posts ()): the_post (); nadpis(); nakonec; endif; wp_reset_query (); 

Toto je absolutně základní dotaz využívající výchozí možnosti a nulové formátování výstupu. V závislosti na tom, jak je váš blog nastaven, bude s největší pravděpodobností popadnout 10 nejnovějších příspěvků - potom veškerý výše uvedený kód udělá název každého příspěvku. Je to docela ošklivé, ale funguje to:

napište svůj vlastní widget

Okamžitě to můžeme vylepšit pouhým přidáním formátování HTML na výstup pomocí ECHO příkaz a vytvoření odkazu na příspěvek pomocí get_the_permalink () funkce:

 query_posts (''); if (have_posts ()): echo "
    • “; while (have_posts ()): the_post (); echo “
    • ".Get_the_title ()."

“; nakonec; echo “

“; endif; wp_reset_query ();

napište svůj vlastní widget

Už to vypadá mnohem lépe. Chceme však pouze jeden příspěvek náhodně vybraný. Za tímto účelem určíme v dotazu některé parametry:

 query_posts ('posts_per_page = 1 & orderby = rand'); 

Samozřejmě to můžete změnit na libovolný počet příspěvků - ve skutečnosti existuje celou řadu dalších bitů, které můžete předat do dotazu abyste omezili, rozšířili nebo změnili pořadí výsledků, ale zatím se držte tohoto. Pokud aktualizujete, měli byste vidět pouze jeden příspěvek, který je při každé aktualizaci náhodný.

Nyní pro doporučenou miniaturu. Nahraďte kód tímto, doufejme, že uvidíte, kde popadneme miniaturu a zobrazujeme ji:


query_posts ('posts_per_page = 1 & orderby = rand'); if (have_posts ()): echo "
    • “; while (have_posts ()): the_post (); echo “
    • “.Get_the_title (); echo the_post_thumbnail (pole (220 200)); echo “

“; nakonec; echo “

“; endif; wp_reset_query ();

Hotové výsledky si můžete znovu prohlédnout na mém vývojovém blogu Self Sufficiency Guide, i když jsem si to mohl přečíst, až si to přečtete.

jak vytvářet widgety

Závěr:

Podívejte se, jak snadné je vytvořit svůj vlastní widget, který umí přesně to, co chcete? I když nerozumíte 90% kódu, který jsem vám dnes ukázal, měli byste si ho přesto trochu přizpůsobit změnou proměnných nebo výstupem jiného HTML. Dnes jsme napsali celou widget, ale můžete snadno použít pouze nový dotaz a kód smyčky na kterékoli ze svých šablon stránek.

James má bakalářský titul v oboru umělé inteligence a je držitelem certifikátu CompTIA A + a Network +. Je hlavním vývojářem MakeUseOf a tráví svůj volný čas hraním VR paintballu a deskových her. Staví počítače od dětství.