Ako pridať úpravy na WordPress? Theme Customizer - Integrované nastavenia. Ako prispôsobiť základné parametre vašej témy. Inštalácia potrebných doplnkov pre dôležitú funkčnosť

  • 06.05.2019

V tomto článku sa dozviete, ako pridať vlastné nastavenie témy pomocou vstavaných funkcií WordPress, konkrétne Theme Customizer. Výkonný nástroj zabudovaný do jadra WP na prispôsobenie tém.

Predhovor

Nedávno som dokončil vytváranie layoutu pre zákazníka a bolo treba ho nainštalovať na WP. Urobil som predbežné práce, vytvoril som základnú kostru témy a rozhodol som sa ju otestovať na lokálnom serveri. A potom som si všimol zaujímavú položku v administrátorskej ponuke „Konfigurovať“. Áno, tento bod som si všimol už skôr a dokonca som videl, ako sa uplatňuje v iných témach, ale sám som bol k nemu skeptický. Potom sa však vkradla myšlienka, čo urobiť nastavenia natívnymi, t.j. zabudovaný do jadra WordPress nie je taký zlý nápad. A potom som začal chápať problém.

Vlastne všetko, čo som sa dozvedel k téme, ktorú som popísal v článku. Kto má záujem prečítať si hneď o výhodách / nevýhodách a mojom názore, choďte prosím na koniec článku resp.

Akcia!

Pokiaľ teda pri aktivácii témy nemáte položku ponuky „Vzhľad - Prispôsobiť“, musíte ju pridať. Toto sa deje takto:

Za týmto účelom vytvorte a otvorte súbor functions.php v koreňovom adresári témy a pridajte tam nasledujúci kód:

Add_action ("admin_menu", function () (add_theme_page ("Customize", "Customize", "edit_theme_options", "customize.php");));

Dôležité! Celý kód musí byť medzi... To ukáže serveru, že pracujeme s PHP.

Vytvorte sekciu

Teraz musíme pridať naše nastavenia. To sa deje v 2 priechodoch. Napínali si mozog. Napínajme ešte raz: pridajte sekciu nastavení.

Súbor PHP, ktorý sme vytvorili skôr, pridajte nasledujúci kód:

Add_action ("customize_register", function ($ customizer) ($ customizer-\u003e add_section ("example_section_one", array ("title" \u003d\u003e "Moje nastavenia", "description" \u003d\u003e "Vzorová časť", "priorita" \u003d\u003e 11 ;));));

Vytvorili sme háčik a pripevnili sme k nemu funkciu. Metóda add_section () iba pridá sekciu nastavení. Trvá to 2 parametre:

$ args - pole argumentov

názov - ako bude sekcia pomenovaná

description - popis sekcie (voliteľné)

Pridanie nastavenia do sekcie

Pridávanie prebieha v 2 etapách. Najskôr vytvoríme samotné nastavenia a potom ovládací prvok, ktorý sa zobrazí v tejto časti.

Ak chcete pridať nastavenia Poďme tento kód napísať do functions.php hneď za metódou add_section (), ale do háku customize_register:

$ customizer-\u003e add_setting ("example_textbox", array ("default" \u003d\u003e "Web stránky"));

Metóda add_setting () má dva parametre:

$ id - jedinečný identifikátor

$ args - pole argumentov

V poli $ args môže byť niekoľko pozícií, a to:

default - predvolená hodnota nastavenia

typ - typ nastavenia

schopnosť - na zmenu tohto parametra sú potrebné používateľské práva. Tých. rôzne skupiny používateľov môžu vidieť rôzne parametre. Super! (nie je potrebné)

theme_supports - označuje, že aktuálna téma by mala podporovať funkciu popísanú v parametri (voliteľné)

transport - ako sa zmena nastavenia zobrazí v náhľadovom okne. Obnovenie stránky alebo AJAX. V predvolenom nastavení sa stránka obnovuje zakaždým, keď sa aktualizuje nastavenie, ale ak máte záujem, môžem vám povedať, ako to implementovať v AJAX bez opätovného načítania stránky. Vaše želania napíšte do komentárov.

sanitize_callback - názov funkcie na filtrovanie vstupných údajov v databáze

sanitize_js_callback - názov funkcie na filtrovanie výstupu z databázy

Teraz pridať kontrolu k nastaveniam... Ďalej pridávame nasledujúci kód:

$ customizer-\u003e add_control ("example_textbox", array ("label" \u003d\u003e "Prispôsobenie textu", "oddiel" \u003d\u003e "example_section_one", "type" \u003d\u003e "text",));

Teraz môžeme vidieť naše nastavenie.

// obrázok

Metóda add_control () má dva parametre:

$ id - jedinečný identifikátor

$ args - pole argumentov

V poli $ args môže byť niekoľko pozícií, a to:

štítok - názov nastavenia

popis - popis

sekcia - sekcia, kde bude umiestnené ovládanie a nastavenie

typ - typ kontroly (predvolené: text)

možnosti - pre typ so začiarkavacími políčkami určuje zoznam hodnôt na výber

priorita - aký účet bude sekcia umiestnená alebo jeho priorita (štandardne 10)

Ale nepriniesli sme nastavenie témy. Poďme na to.

Zobrazujú sa nastavenia v téme

Ak chcete zobraziť nastavenia v téme, musíte pridať jej identifikátor na správne miesto. Je to ľahké, stačí pridať konštrukciu:

Get_theme_mod () má dva argumenty ^

$ name - názov nastavenia, ktoré sa má získať

$ default je predvolená hodnota. Zobrazí sa, ak nastavenie neexistuje

Iné typy ovládacích prvkov

CheackBox (začiarkavacie políčko)

Umožňuje povoliť alebo zakázať čokoľvek.

$ customizer-\u003e add_control ("hide_text", array ("type" \u003d\u003e "checkbox", "label" \u003d\u003e "Skryť text", "oddiel" \u003d\u003e "example_section_one",));

Téma sa zobrazuje nasledovne:

Ak ste teraz nezačiarkli toto políčko, tento text sa nezobrazí. Užitočné, ak sa potrebujete skryť. čokoľvek.

Rádio (prepínacia skupina)

Umožňuje vám vybrať ľubovoľný 1 parameter zo zoznamu.

$ customizer-\u003e add_setting (" rádio", pole (" predvolené "\u003d\u003e" item_1 ")); $ customizer-\u003e add_control (" rádio", array (" type "\u003d\u003e" radio "," label "\u003d\u003e" Príklad prepínačov "," section "\u003d\u003e" example_section_one "," choices "\u003d\u003e array (" item_1 "\u003d\u003e" item_1 "," item_2 " "\u003d\u003e" item_2 "," item_3 "\u003d\u003e" item_3 ",),));

Vyberte (Zoznam)

Prihlásiť sa na odber

Fungovanie detských tém („dcér“) je založené na ich vzťahu k rodičom („rodičom“). Je dôležité vziať do úvahy, že bezplatné a platené témy sú pôvodne rodičmi, preto dcéra kopíruje ich parametre a vlastnosti a tiež dostáva štandardnú sadu svojich funkcií. V budúcnosti bude možné súbor týchto možností rozšíriť, berúc do úvahy potreby konkrétneho internetového zdroja.

Ak sa dotkneme terminológie, hovoríme o špeciálnej téme, ktorá nadobúda význam iného, \u200b\u200bktorý vystupuje ako rodič. Prečo sú vytvorené? Upraviť existujúce témy WordPress a tým zvýšiť ich počet.

Aký je rozdiel medzi „dcérou“

Podradená téma Wordpressu otvára možnosť vykonať potrebné zmeny a úpravy. Ďalej sa pozrieme na to, ako ho vytvoriť, ale predtým si zanalyzujeme jeho kľúčové rozdiely:

  1. Zmeny vykonané rodičom sa nedotknú dieťaťa. Z toho vyplýva, že po vývoji sú na sebe nezávislí.
  2. Derivát funguje, iba ak je nainštalovaný nadradený modul a k jeho aktivácii dôjde neskôr.
  3. Dcérske spoločnosti sú viazané iba na svoju vlastnú základňu a nie sú navzájom prepojené.

Je pohodlné pracovať?

Podradená téma WordPress je vynikajúci nápad s mnohými výhodami. Osobne by sme ho odporúčali ako štandardné balenie s prémiovými produktmi. Vymenujme len niektoré z výhod:

  1. Automaticky uložia vaše úpravy. Vďaka tomu môžete vykonávať úpravy priamo v kóde bez rizika straty alebo straty nastavení počas aktualizácie.
  2. Spolupráca s nimi je vynikajúcou prípravou na prechod na písanie hlavného kódu pre nadradené varianty.
  3. Pracovný postup je vylepšený. Vďaka jedinému tematickému rámci, ktorý máte k dispozícii, môžete vytvárať stránky s rôznou zložitosťou a funkčnosťou.

Pretože toto je pokračovanie rodiča, množina funkcií a funkcií je tu rovnaká. Hlavné komponenty:

  1. Adresár (priečinok / umiestnenie súborových komponentov).
  2. „Style.css“, ktorý obsahuje hlavné a ďalšie vlastnosti.
  3. „Functions.php“, kde sú definované funkcie.

Pri pridávaní šablón neexistujú žiadne obmedzenia, ale vymenované komponenty sú v každom povinné.

Fungovanie

„Dcéry“ sú lokalizované v samostatnom priečinku a môžu sa pochváliť samostatnými súbormi „functions.php“ a „style.css“. Vždy je možné zapísať pomocné súbory, ale táto dvojica je zodpovedná za správne fungovanie - bez problémov a problémov.

Pri správnom použití týchto formátov môžete upravovať takmer všetky počiatočné parametre vrátane štýlu, jednotlivých položiek rozložení, skriptov a ďalších.

Tematické zariadenie je podobné editorským vrstvám editorov fotografií. Ak používateľ navštívi váš internetový zdroj, otvorí sa pred ním „dcéra“ a potom sa z rodiča načítajú už chýbajúce možnosti a štýly. Väčšina kódu je nakoniec odovzdaná rodičovi, ale pred použitím ho treba upraviť tak, aby odrážal nastavenie dieťaťa.

Ako tvoriť

Najskôr skontrolujte, či máte všetko, čo potrebujete. Menovite prístup k FTP alebo správcovi súborov, otvorený prístup k samotnému ovládaciemu panelu Wordpress. Tak poďme na to.

Krok 1. Vytváranie podradenej témy WordPress

Toto je dosť priamy proces. Ak budete postupovať podľa pokynov podrobne, každý používateľ si ich osvojí.

Najskôr vytvorte priečinok pre dcéru v štandardnom adresári. Ak chcete mať adresár v poriadku a usporiadať obsah, je lepšie priečinok pomenovať ako „Názov rodiča + podradený koniec“. Pre pohodlie môžete pridať názov projektu, pre ktorý vytvárame tému. Hlavná vec je, že názov adresára nemá medzery, inak by to mohlo viesť k chybám. Správca súborov alebo klient FTP vám pomôžu vytvoriť nový priečinok. FTP klient ako FileZilla sa dnes osvedčil.

Vezmime si napríklad „Dvadsať sedemnásť“, ktoré je známe mnohým. Najradšej pracujem so správcom súborov, takže moja cesta k vytvorenému priečinku vyzerá takto:

Robíme nasledovné:


Iste ste presvedčení, že tvorba je ľahký proces. Je len nevyhnutné dôsledne dodržiavať pokyny a pracovať so správnym prístupom.

Krok 2. Nastavenie

Ak chcete začať, upravovať, dopĺňať, prispôsobovať sa požiadavkám a požiadavkám vášho „dcérskeho“ webu, musíte správne nakonfigurovať nastavenia. Pozrime sa na to v poriadku.

  1. Najprv musíte prispôsobiť vzhľad.

Za týmto účelom vykonáme úpravy súboru „custom.css“, ktorý sa nachádza v adresári. To je možné vykonať prostredníctvom klienta FTP, bežného textového editora, správcu súborov alebo špeciálneho editora Wordpress (nájdete ho otvorením „Vzhľadu“, potom „Editora“). Tu budete potrebovať aspoň minimálne znalosti o pravidlách používania CSS, ako aj zručnosť v kontrole prvkov webu pomocou prehľadávača. Napríklad na zmenu farby pozadia v súbore „style.css“ napíšeme nasledujúce pravidlo CSS:

Nasledujúci obrázok ukazuje, ako sa po vykonaní úprav zmení vzhľad webu. Pozadie sa zmenilo na svetlo zelené:

Takto môžete upravovať akékoľvek existujúce prvky na webe.

2. Práca s funkciami.

Používanie a práca s „dcérami“ tiež poskytuje takú výhodu, ako je schopnosť udržiavať dva nezávislé „functions.php“. Pripomeňme, že tieto súbory sa používajú na odstránenie starých a pridanie nových funkcií. Ak tam sú, nemusíte sa obávať bezpečnosti alebo problémov pri práci s dokumentom. Aj keď je základňa obnovená, zostane nezmenená.

Pre pridanie novej možnosti je do súboru pridaný nový PHP kód. Napríklad nižšie uvedený kód odstráni možnosť vyhľadávania WordPress.



Špeciálne služby na uľahčenie práce vývojára

Na uľahčenie procesu vytvárania môžete použiť množstvo špeciálnych doplnkov. Knižnica WordPress poskytuje širokú škálu doplnkov, z ktorých väčšina je zadarmo. Používanie doplnkov výrazne zjednodušuje proces vývoja. Pozrime sa na najobľúbenejšie doplnky.

  1. Dieťa Themify.

Je to najjednoduchší a najľahšie použiteľný doplnok s intuitívnym rozhraním. Mnoho nastavení je možné vykonať kliknutím na tlačidlo.

2. Konfigurácia detskej témy.

Tu môžete tiež vytvoriť „dcéru“ a trvá to iba pár kliknutí. Editor CSS je dostatočne výkonný na to, aby umožňoval pokročilé prispôsobenie. Plugin automaticky identifikuje kľúčové pravidlá CSS a pri úprave ich neovplyvňuje.

3._štítek s témou dieťaťa.

Tu sú pripravené šablóny na formovanie „dcér“. Šablóna má jednoduchý názov „_child“ - a je navrhnutá špeciálne na uľahčenie práce. Šablóna ponúka intuitívnu tému, všetko, čo musíte urobiť, je poskytnúť odkaz na „rodiča“. Šablóna tohto typu vám umožňuje vytvárať profesionálne možnosti - už boli vytvorené 2 pripravené súbory, štandardné „functions.php“ a „style.css“.

Prvý z nich má špeciálnu funkciu s názvom „aa_enqueue_styles ()“. Táto možnosť vám umožňuje vytvoriť rad šablón štýlov s rodičmi a potomkami detí. Výsledkom je, že najskôr sa určuje štýl druhého.

Väčšina vývojárov zhromažďuje tieto tabuľky v CSS, ale to viac škodí ako pomáha. Prehliadač začne načítavať web dlho, pretože je potrebné načítať štýly najskôr z „rodiča“, až potom z derivácie. Ak šablóny štýlov vložíte osobitne, úloha prehliadača bude ľahšia a rýchlosť načítania sa zvýši.

Tu je kód na pridanie tejto možnosti:

Druhý súbor má základnú hlavičku obsahujúcu konkrétne informácie. Tieto informácie umožňujú aplikácii WordPress rozpoznať ju ako šablónu štýlov „dcéra“. Preto je obzvlášť dôležité napísať kód pre „style.css“:



Zhrňme si to

Nezáleží na úrovni programovacích schopností, ako ani na skúsenostiach s Wordpressom. Vytvorenie detskej témy WordPress je ľahké a nehrozí riziko odstránenia nastavení po ukončení. Napísaním malého kódu alebo vykonaním zmien v už napísanom a vykonaním jednoduchých akcií s adresárom môžete zmeniť svoj web. Hlavná vec je postupovať podľa pokynov, postupne prechádzať z jedného bodu do druhého. Nezabudnite na toto: ak existujú aktualizácie pre „rodiča“, „dcéra“ sa nezmení, toto pravidlo platí pre zmeny v obsahu, nastaveniach atď.

Experimentujte, vyskúšajte rôzne možnosti a hľadajte pre seba tú najlepšiu.

Vzhľadom na to, že väčšina stránok, ktoré vyvíjam, je vytváraná pomocou CMS Wordpress a musí neustále čeliť netriviálnym úlohám, rozhodol som sa s vami podeliť o skúsenosti s používaním rôznych doplnkov. Bezplatné aj platené a pokúsim sa držať tohto formátu: jeden článok - jeden doplnok. Pokúsim sa zvážiť iba skutočne pozoruhodný vývoj a vo svojom prvom príbehu vám poviem o OptionTree - vynikajúcom, podľa môjho názoru, riešení pre vytvorenie stránky s vlastným nastavením stránok.

Čo sú to vlastné nastavenia?

Šablóny (témy) Wordpress, ktoré môžeme použiť na našom webe, nám veľmi často umožňujú konfigurovať niektoré ďalšie parametre, napríklad farbu nadpisov. Všetky platené témy, ktoré som musel použiť, výrazne rozširujú funkčnosť administračného panelu vďaka samostatnému rozhraniu. Ďalej uvádzam príklad takého rozšírenia, viď.

Keď sa vytvorí jedinečný web (jedinečnosťou, myslím tým web, ktorý používa šablónu s jedinečným dizajnom a funkčnosťou vyvinutou špeciálne pre klienta), potom sa často vyžaduje, aby sa vytvorila príležitosť pre správcov zmeniť určité parametre. Takmer vždy je potrebné dať možnosť zmeniť súbor s logom, niektoré prvky na domovskej stránke, ikony sociálnych médií, farbu pozadia v päte stránky atď. Toto je presne príležitosť pre vývojárov, ktorú poskytuje doplnok OptionTree, ktorý je možné bezplatne stiahnuť z oficiálneho webu Wordpress.

Po inštalácii ...

Inštaláciou a aktiváciou doplnku získame podmienečne dve časti: jednu pre vývojárov webov a druhú pre používateľov. Prvá časť je dostupná z položky ponuky „OptionTree“ - „Nastavenia“, ktorá sa objaví po aktivácii pluginu vľavo v administratívnej časti Wordpressu. Pokojne tam kliknite a získate jedinečné rozhranie pre formovanie sady vlastných polí, ktoré budú používateľom k dispozícii v druhej časti pluginu - „Vzhľad“ - „Možnosti témy“.

Možnosti témy Tvorca používateľského rozhrania

Ako teda vytvoriť prispôsobenia? Samostatným nastavením budem mať na mysli určité pole, ktoré bude mať používateľ, správca stránky k dispozícii na úpravy. UI Builder umožňuje vytvárať sekcie alebo sekcie, nazvime to lepšie, v rámci ktorých sa budú nachádzať určité nastavenia. Na vyššie uvedenom obrázku som uviedol príklad nastavení, ktorý sa skladá z dvoch častí: „Všeobecné“ a „Služby“. Tých. rozumie sa, že v sekcii „Všeobecné“ budú umiestnené niektoré všeobecné nastavenia stránok a v sekcii „Služby“ - konkrétne pre stránku služieb. Pozrime sa, ako sa jednotlivé sekcie pozerajú na používateľa. Prejdite na časti „Vzhľad“ - „Možnosti témy“ a - hurá! Tu je stránka nastavení!

Vľavo vidíme sekcie, ktoré sa dajú prepínať, vpravo - súbor nastavení vo vnútri sekcie. Sekcie sa vytvárajú pomocou nástroja Theme Options UI Builder kliknutím na tlačidlo „Pridať sekciu“ a pre sekciu musíte zadať jej názov a jedinečný identifikátor. Vytvorme sekciu „Rozšírené“ a pridáme do nej nejaké nastavenia.

Všetky zmeny sa samozrejme vykonajú kliknutím na tlačidlo „Uložiť zmeny“. Teraz pridajme prispôsobenie, napríklad farbu nadpisov. Kliknite na možnosť „Pridať nastavenie“ a pozrite sa, ktorá sada polí je k dispozícii na výber. Môžeme povedať obrovský! Vyberte možnosť „Colorpicker“ a zadajte názov a jedinečný identifikátor. Pri identifikátoroch buďte opatrní, vďaka jedinečnému identifikátoru potom môžeme v kóde šablóny získať prístup k hodnote tohto poľa.

Pozrime sa, čo má teraz používateľ k dispozícii na úpravy: je tu nová sekcia a nové nastavenie, pole „Farba hlavičiek“, ktoré môže používateľ teraz pohodlne upravovať. Pozrite sa, nebudem sa venovať úplnému zoznamu polí, ktoré sú k dispozícii na vytvorenie. Je to samozrejme v dokumentácii k doplnkom a na oficiálnych webových stránkach vývojárov. Ak aj napriek tomu niektoré polia vzbudia váš záujem - napíšte, aktualizujem túto publikáciu popisom jedného alebo druhého typu navrhovaných polí. V zásade je jeho význam zrejmý z názvu poľa, ale opakujem, ak vám niečo robí ťažkosti - kľudne ma kontaktujte, určite vysvetlím.

Úprava šablóny

Teraz musíte ako vývojári vykonať zmeny v šablóne webu, aby ste získali hodnotu jedného alebo druhého poľa, ktoré používateľ zadal alebo vybral. Je za to zodpovedná určitá funkcia, príklad použitia, ktorý pre našu voľbu farieb nadpisov uvádzam nižšie. Okrem toho poznamenávam, že v tomto príklade môže byť obrovská paleta možností použitia tohto doplnku, v príklade, ktorý uvádzam, sa v hlavičkovej časti dokumentu zobrazí štýl hlavičiek, teraz sa zobrazí štýl hlavičiek, konkrétne ich farba, v závislosti od hodnoty poľa h_color.

Tých. za zobrazenie hodnoty poľa je zodpovedná funkcia ot_get_option ($ option_id, $ default), ktorej parametrami sú identifikátor poľa, ktorý sme si ako vývojári sami nastavili, v našom prípade zobrazíme hodnotu poľa h_color. Druhým parametrom funkcie je výstupný formát, dovoľte mi venovať sa tomu trochu podrobnejšie. Napríklad musíme urobiť voľbu, ktorá umožní používateľovi vytvoriť si vlastnú sadu ikon pre sociálne siete. Použijeme na to pole Položka zoznamu (zobrazené nižšie).

Toto pole umožňuje vytvoriť množinu opakujúcich sa polí, keď môže užívateľ pridať rovnaké parametre v rámci jedného nastavenia. Je to trochu nepochopiteľné, pokúsim sa vysvetliť a potom v kóde ukázať, ako to funguje. V našom prípade priradíme identifikátor social_icons k poli Položka zoznamu a do tohto poľa (všimnite si, že je tu ešte jedno tlačidlo „Pridať nastavenie“) pridať dve polia: súbor s ikonami a odkaz. Typ prvého poľa bude Nahrať, typ druhého - Text. Identifikátor prvého poľa bude icon_image, identifikátor druhého poľa je icon_link.

Čo získa používateľ? Teraz bude môcť pridať niekoľko ikon na sociálnych sieťach kliknutím na tlačidlo „Pridať nové“ na stránke nastavení. Ďalej upozorňujeme, že počet takýchto nastavení je teraz neobmedzený a závisí iba od používateľa.

Ak chcete teraz v šablóne zobraziť také zložité pole, musíte použiť mierne odlišný výstupný formát, nižšie je v takom prípade časť kódu PHP. Pokúsim sa vysvetliť, čo sa deje v komentároch.

"; // zobraziť polia v šablóne)))?\u003e

Vo väzbe

Existuje naozaj veľa typov polí, ktoré môžete použiť, vývojári doplnkov sa snažili čo najlepšie: jedná sa o výber dátumu, výber farieb, môžete vytvárať galérie obrázkov, prepínače atď. Kombináciou takýchto polí a ich správnym zobrazením v šablóne poskytne vývojár webu používateľovi pohodlné rozhranie na zmenu určitých nastavení. Podotýkam, že na jednom z posledných webov som musel vytvoriť viac ako 50 rôznych polí, aby klienti mohli meniť farby hlavičiek, textov na hlavnej stránke webu, meniť počet noviniek zobrazovaných na stránke, upravovať kontakty a mapu cesty a mnoho ďalších.

Vytvorenie vlastnej témy WordPress je skvelý spôsob, ako dať svojmu blogu alebo inej stránke založenej na WordPress osobný kontakt. Ani najatraktívnejšia a najkrajšia téma však nebude ideálna, ak budete musieť ísť pod kapotu a upravovať jej PHP a HTML kód, kedykoľvek budete potrebovať mierne upraviť jeho aspekty. Najmä ak to nemusíte urobiť vy, ale váš klient. Našťastie vytvorenie stránky s nastaveniami pre vašu tému WordPress nie je také ťažké a po prečítaní tejto príručky by ste mali byť schopní bez problémov vytvoriť vlastnú stránku s nastaveniami.

Krok 1. Zistite, aké nastavenia potrebujeme.

Všetko začína potrebami: ak chcete vytvoriť prehľadnú a užitočnú stránku s nastaveniami, musíte definovať, čo je potrebné zmeniť, a ponechať všetky ostatné rovnaké. Každé nové nastavenie, ktoré pridáte do ponuky správcu, zvyšuje zložitosť používateľského rozhrania - riskujete, že sa téma bude ťažko používať. To je dôvod, prečo je najlepšie byť opatrný a starostlivo vyberať možnosti, ktoré sa budú často meniť, a zahodiť nastavenia, ktoré sa raz zmenia, čo sa dá ľahko urobiť úpravou vhodných súborov tém.

Nezabudnite ani na ďalšiu otázku: „Kto zmení tieto nastavenia?“ Ak používateľ ovláda WordPress a PHP, bolo by rozumné očakávať, že bude môcť do témy vložiť nezávisle kód Google Analytics, ale nemali by ste to vyžadovať od grafického dizajnéra, nieto od autorov, ktorí nepotrebujú znalosť HTML alebo CSS. ...

Medzi všeobecné nápady na presun komponentov do nastavení témy patria:

  • Sledovací kód Google Analytics
  • Počet bočných panelov a ich umiestnenie (vľavo, vpravo, možno dokonca hore a dole)
  • Šírka stránky
  • Obsah päty
  • Možnosti funkcií, ktoré sú špecifické pre danú tému, napríklad formáty upútaviek.

Po zostavení zoznamu funkcií motívov, ktoré chcete ovládať prostredníctvom stránky s nastaveniami, ste takmer pripravení začať ich implementovať. Než pôjdete ďalej a vytvoríte stránku s nastaveniami, môžete ušetriť čas a ubezpečiť sa, že WordPress ešte nemá túto funkciu k dispozícii na zmenu. Widgety, vlastné ponuky, vlastné pozadia a obrázky hlavičiek sú všetko užitočné nástroje na prispôsobenie vašej témy. Na vytvorenie vlastných prispôsobení je zvyčajne potrebné menšie úsilie. Je pravda, že všetky tieto komponenty sú témou pre ďalší tutoriál.

Nastavenia vytvorené v tejto príručke

Pre tento tutoriál som zobral hlavnú stránku, ktorá sa skladá z mriežky s rôznym počtom populárnych príspevkov, ktoré môže administrátor pomocou stránky s vlastnými nastaveniami vybrať, upraviť a zmeniť ich poradie.

V editore sa položky domovskej stránky zobrazia ako zoznam, do ktorého je možné pomocou Javascript a Jquery pridať nové položky.

Páči sa mi, keď mám pri písaní kódu HTML ukážku stránky správcu na paneli nástrojov WordPress, takže zvyčajne začnem prepojením stránky s nastaveniami s WordPress a potom už len pokračujem k vývoju obsahu stránky. Z tohto dôvodu bude našim ďalším krokom vytvorenie prázdnej stránky s nastaveniami a jej prepojenie s WordPress.

Krok 2. Prepojenie stránky nastavení s WordPress.

Vytvorenie stránky s nastaveniami sa začína napísaním funkcie, ktorá nastaví ponuku a pripojí ju k akcii admin_menu. Toto dáva WordPressu pokyn, aby túto funkciu zavolal pri vytvorení ponuky, aby bolo všetko hotové v príslušnom čase. Pridajte nasledujúci kód do súboru functions.php svojej témy:

Funkcia setup_theme_admin_menus () (// Obsah funkcie napíšeme veľmi skoro.) // Hovorí WP, aby zavolala funkciu „setup_theme_admin_menus“ //, keď je potrebné vytvoriť stránky ponuky. add_action ("admin_menu", "setup_theme_admin_menus");

Teraz vložíme kód na vytvorenie stránky nastavení do funkcie, ktorú sme práve napísali:

Pri vytváraní stránky s nastaveniami máte na výber - buď stránku pridáte ako podponuku do jednej z existujúcich skupín nastavení, alebo si vytvoríte vlastnú ponuku najvyššej úrovne.

Podponuky sa pridávajú pomocou funkcie add_submenu_page:

  • $ parent_slug je jedinečný identifikátor ponuky najvyššej úrovne, do ktorej bude pridaná podponuka.
  • $ page_title názov pridanej stránky.
  • $ menu_title názov zobrazený v ponuke (často krátka verzia $ page_title)
  • $ capability sú minimálne prístupové práva požadované používateľom pre prístup do tohto menu.
  • $ menu_slug je jedinečný identifikátor vytváranej ponuky.
  • $ function je názov funkcie, ktorá je volaná na spracovanie (a prezentáciu) tejto stránky ponuky.

Ak chcete pridať stránku ponuky ako podponuku do existujúcej skupiny WordPress, môžete ako parameter $ parent_slug použiť nasledujúce hodnoty:

  • Panel: index.php
  • Príspevky: edit.php
  • Médiá: upload.php
  • Odkazy: link-manager.php
  • Stránky: edit.php? Post_type \u003d stránka
  • Komentáre: edit-comments.php
  • Vzhľad: themes.php
  • Pluginy: plugins.php
  • Používatelia: users.php
  • Nástroje: toolss.php
  • Nastavenia: options-general.php

Skupina Vzhľad je dobrým kandidátom na hosťovanie našej stránky s nastaveniami. Zamerajme sa na to a skúsme vytvoriť našu prvú stránku s nastaveniami. Tu je aktualizovaná verzia našej funkcie nastavenia ponuky:

Funkcia setup_theme_admin_menus () (add_submenu_page ("themes.php", "Prvky titulnej stránky", "Titulná stránka", "manage_options", "prvky titulnej stránky", "theme_front_page_settings");)

Na to, aby sme s nastaveniami mohli pracovať, musíme ešte vytvoriť funkciu theme_front_page_settings. Tu je jeho najjednoduchšia forma:

Funkcia theme_front_page_settings () (echo "Hello, world!";)

Takto to bude vyzerať v akcii:

Musíme tiež skontrolovať, či má používateľ potrebné práva na úpravu stránky nastavení. Za týmto účelom pridajte nasledujúci kód na úplný začiatok funkcie na stránke nastavení:

// uistite sa, že používateľ môže aktualizovať nastavenia if (! current_user_can ("manage_options")) (wp_die ("Nemáte dostatočné oprávnenie na prístup na túto stránku.");)

Ak teraz používateľ, ktorý nemôže spravovať stránku s nastaveniami, vstúpi na stránku s nastaveniami, zobrazí sa mu obvyklá správa: „Na prístup na túto stránku nemáte dostatočné práva.“

Ak váš motív vyžaduje viac stránok s nastaveniami, môže to byť pre používateľa mätúce, pretože ho musí vyhľadať v ponuke. V takom prípade vám vytvorenie vlastnej skupiny nastavení uľahčí vyhľadanie stránok v ponuke.

Ak chcete pridať vlastnú skupinu vlastných nastavení, musíte vytvoriť stránku ponuky na najvyššej úrovni a prepojiť s ňou stránky podponuky. Toto je nová verzia našej funkcie na vytváranie ponúk. Funkcia add_menu_page vytvorí ponuku najvyššej úrovne podobnú add_submenu_page, až na to, že nepotrebuje parameter $ parent_slug.

Funkcia setup_theme_admin_menus () (add_menu_page ("Nastavenia témy", "Príklad témy", "manage_options", "tut_theme_settings", "theme_settings_page"); add_submenu_page ("tut_theme_settings", "Prvky titulnej stránky", "Titulná stránka", "manage_options" , "front-page-elements", "theme_front_page_settings");) // musíme pridať funkciu pre prácu s funkciou ponuky na najvyššej úrovni theme_settings_page () (echo "Stránka nastavení";)

Ak otestujete kód a obnovíte hlavný panel WordPress, v spodnej časti zoznamu sa zobrazí nová skupina ponúk.

Zatiaľ sa to však nezdá úplne správne. Kliknutím na položku hornej ponuky sa nedostanete na stránku ponuky Predná strana, ale na stránku s ukážkou témy. Toto nie je to isté ako fungovanie zvyšných ponúk WordPress, urobme teda ešte jednu vec: zmenou atribútu $ menu_slug vo výzve add_submenu_page na rovnakú hodnotu ako v ponuke najvyššej úrovne môžeme tieto dve ponuky spojiť tak, aby výber najvyššej položky viedli do ponuky Titulná stránka.

Funkcia setup_theme_admin_menus () (add_menu_page ("Nastavenia témy", "Príklad témy", "manage_options", "tut_theme_settings", "theme_settings_page"); add_submenu_page ("tut_theme_settings", "Prvky titulnej stránky", "Titulná stránka", "manage_options" , "tut_theme_settings", "theme_front_page_settings");) funkcia theme_settings_page () ()

Už to vyzerá lepšie. Ak stále chcete vylepšiť prezentáciu svojej skupiny ponúk, môžete vo funkcii add_menu_page použiť dve ďalšie polia. Stačí pridať hodnoty za názov funkcie do volania metódy:

  • $ icon_url - určuje adresu URL ikony pre ponuku najvyššej úrovne.
  • $ position - definuje pozíciu vašej skupiny ponúk v zozname ponúk. Čím vyššia je hodnota, tým nižšia je pozícia v ponuke.

Krok 3. Vytvorte formulár HTML pre stránky s nastaveniami.

Teraz, keď sme vytvorili stránku s nastaveniami a zobrazuje sa na bočnom paneli, je čas začať na ňu pridávať určitý obsah. Vráťme sa k zoznamu nastavení a navrhneme stránku, ktorá ich bude upravovať.

V tejto príručke potrebujeme pole na určenie počtu položiek, ktoré sa majú zobraziť v jednom riadku, a zoznam na identifikáciu existujúcich položiek. Začnime jednoduchším: vytvorme textové pole pre počet položiek v jednom riadku. Upravme funkciu pre stránku nastavení:

Funkcia theme_front_page_settings () (?\u003e

Po opätovnom načítaní stránky s nastaveniami sa zobrazí prvé pole:

Aby stránka nastavení zodpovedala vášmu existujúcemu prostrediu WordPress a aby váš doplnok vyzeral profesionálne, musíte na vytváranie stránok základných nastavení používať triedy a štýly CSS, ktoré WordPress používa. Skvelým spôsobom, ako to urobiť, je prejsť na stránku nastavení a analyzovať jej zdroj.

Najdôležitejšou súčasťou našej práce je zabaliť stránku nastavení do divu s triedou zalomenia. V rámci tohto prvku div môžete použiť množstvo preddefinovaných štýlov pre nadpisy, tlačidlá a prvky formulára. Vytvorme štýl názvu našej stránky s nastaveniami:

  • Vytvoríme pre stránku h2 (môžete použiť hlavičky od h2 do h6).
  • Pred nadpisom zobrazíme ikonu stránky s nastaveniami (preddefinované ikony WordPress môžete použiť s funkciou screen_icon. Táto funkcia má jeden z nasledujúcich parametrov: index, úpravy, nahrávanie, správca odkazov, stránky, komentáre, témy, doplnky, používatelia, nástroje alebo možnosti - všeobecne).
  • Vložíme vstupný prvok do formulára a tabuľky s triedou form-table.
funkcia theme_front_page_settings () (?\u003e

Prvky prednej strany

K tomu používame jQuery, pretože jQuery je pri vytváraní niečoho od nuly mnohokrát jednoduchšie ako Javascript a dodáva sa s WordPress. Ak ste už predtým používali jQuery, musíte vziať do úvahy nasledujúce skutočnosti: $ notácia, ktorú zvyčajne používate v jQuery, nefunguje vo WordPresse - musíte namiesto toho použiť celé slovo jQuery.

Najskôr vytvoríme prvok na úpravu nastavení jedného bloku hlavnej stránky, ktorý bude slúžiť ako šablóna pre prvky pridané používateľom. Pridajte tento kód medzi značku záverečnej tabuľky a značku záverečného formulára.

  • Odstrániť
  • Teraz uvidíme nasledovné:

    Teraz, keď máme šablónu, je čas ju skryť a vytvoriť Javascript, ktorý bude šablónu používať pri vytváraní nových riadkov populárnych príspevkov. Nastavte štýl zobrazenia prvku li: none;

    Pre skutočnú tému je dobrým zvykom pridať všetok kód JS do samostatného súboru. Pre zjednodušenie tohto tutoriálu som sa však rozhodol pridať JS do tej istej funkcie s HTML, tesne pred wrap div:

    Vyššie uvedený kód JS vytvára funkciu, ktorá sa volá, keď používateľ klikne na odkaz pomocou id \u003d add-featured-post. Táto funkcia klonuje šablónu zoznamu, ktorú sme vytvorili skôr, a aktualizuje jej polia, ktoré teraz obsahujú jedinečné ID a názvy. Týmto spôsobom sa všetci odošlú správne s formulárom, keď používateľ klikne na Odoslať. Premenná elementCounter obsahuje nasledujúce ID, ktoré sa má pridať. Je tiež uložený v skrytom poli, aby sme pri odoslaní formulára vedeli, koľko prvkov bude na hlavnej stránke.

    Keď však kliknete na tlačidlo Odstrániť, uvidíte, že sa nič nestalo. Pridajme funkciu na odstránenie položiek zo zoznamu.

    Funkcia removeElement (element) (jQuery (element) .remove ();)

    Musíme tiež zavolať funkciu. Pridajte nasledujúci kód tesne pred zvýšením elementCounter:

    Var removeLink \u003d jQuery ("a", elementRow) .click (function () (removeElement (elementRow); return false;));

    Pred prechodom na uloženie formulára je potrebné urobiť ešte jednu vec. Používame doplnok jQuery ui.sortable, aby sme vytvorili prvky domovskej stránky tak, že ich budeme môcť presúvať po celej stránke. Ak chcete povoliť funkčnosť triedenia, musíme zahrnúť zodpovedajúci súbor JS (ktorý sa dodáva aj s WordPress). Môžete to urobiť pomocou nasledujúceho riadku kódu na úplnom konci functions.php:

    If (is_admin ()) (wp_enqueue_script ("jquery-ui-dedicated");)

    Potom pridáme nasledujúci JS tesne pred (alebo po) jQuery ("# \u200b\u200badd-featured-post"). Kliknite na vyššie definovanú funkciu:

    JQuery ("# \u200b\u200bfeatured-posts-list"). Triediteľný ((stop: function (event, ui) (var i \u003d 0; jQuery ("li", toto) .each (function () (setElementId (this, i)) ; i ++;)); elementCounter \u003d i; jQuery ("vstup"). val (elementCounter);)));

    Tento úryvok umožňuje zoznam triediť a pridáva udalosť, ktorá sa volá, keď používateľ dokončí triedenie. Obslužná rutina udalosti aktualizuje všetky identifikátory prvkov, aby bola nová objednávka prijatá po uložení formulára (to bude zrejmé, keď implementujeme uloženie). Pri písaní zastavenia obsluhy som si všimol, že kód nastavenia id pre obsah šablóny bol duplikovaný na dvoch miestach, takže som ho reštrukturalizoval do funkcie, ktorú som umiestnil tesne pred riadok jQuery (document) .ready ():

    Funkcia setElementId (element, id) (var newId \u003d "front-page-element-" + id; jQuery (element) .attr ("id", newId); var inputField \u003d jQuery ("select", element); inputField. attr ("name", "element-page-id-" + id); var labelField \u003d jQuery ("label", element); labelField.attr ("for", "element-page-id-" + id); )

    Teraz, keď funguje pridávanie položiek, ich triedenie a mazanie, je čas údaje uložiť. Posledný dotyk: pridajte tlačidlo Odoslať tesne pred záverečnú značku formulára:

    Krok 4. Uložte formulár.

    Stránka možností vyzerá skvele, ale niečo jej chýba: nerobí nič. Je čas uložiť nejaké dáta. WordPress poskytuje jednoduchý systém na ukladanie parametrov témy a doplnku - dvojicu kľúčov pre databázu vo forme funkcií get_option a update_option. Dáta uložené týmito funkciami môžu byť také jednoduché ako číselné hodnoty, alebo také zložité ako polia vložené viackrát.

    Spracovanie formulárov sa vykonáva rovnakou funkciou ako vykresľovanie formulárov. Aby sme pochopili, či bol formulár odoslaný alebo nie, do formulára pridáme skryté pole update_settings a potom skontrolujeme, či bolo dané pole odoslané alebo nie vo funkcii spracovania:

    If (isset ($ _ POST ["update_settings"]))) (// uložiť)

    Skryté pole, ktoré sa dodáva s formulárom, vyzerá takto:

    Ponechajme si jednoduché nastavenie, num_elements. Odstránime všetky ďalšie znaky, aby sme sa uistili, že používateľ neodosiela škodlivý obsah, a výslednú hodnotu potom uložíme do obchodu s nastaveniami WordPress. Pri použití update_option si nemusíme robiť starosti s tým, či už bolo nastavenie uložené alebo nie.

    $ num_elements \u003d esc_attr ($ _ POST ["num_elements"]); update_option ("theme_name_num_elements", $ num_elements);

    Pred uložením zoznamu pridajme aktuálnu hodnotu num_elements do formulára nastavení, aby si používateľ mohol vždy zvoliť, akú hodnotu zadal, pred výberom nasledujúceho parametra. Pomôže nám to tiež pochopiť, aká hodnota bola skutočne uložená.

    !}

    A v prípade, že nič nešetríme, musíme získať aktuálnu hodnotu pre možnosti; pridajme nasledujúci kód, ktorý sa má spustiť, keď formulár nebol odoslaný.

    $ num_elements \u003d get_option ("theme_name_num_elements");

    Po uložení formulára je dôležité upozorniť používateľa, že všetko prebehlo dobre. Poďme vytvoriť jednoduché upozornenie, Nastavenia uložené, hneď po update_option:

    ?>

    Nastavenia boli uložené

    Teraz uložme prvky domovskej stránky. Najväčšia hodnota id pre prvky hlavnej stránky sa odovzdáva ako element-max-id, takže môžeme získať túto hodnotu a prejsť všetky prvky až po toto ID, pričom ich údaje budeme ukladať do poľa v správnom poradí:

    $ front_page_elements \u003d array (); $ max_id \u003d esc_attr ($ _ POST ["element-max-id"]); pre ($ i \u003d 0; $ i< $max_id; $i ++) { $field_name = "element-page-id-" . $i; if (isset($_POST[$field_name])) { $front_page_elements = esc_attr($_POST[$field_name]); } } update_option("theme_name_front_page_elements", $front_page_elements);

    Sem ukladáme údaje, hodnoty však musíme uviesť na stránke nastavení. Urobme to isté, čo sme urobili s poľom num_elements - načítame štandardné možnosti na samom začiatku funkcie:

    $ front_page_elements \u003d get_option ("theme_name_front_page_elements");

    Poďme si teraz pri vykonávaní formulára zobraziť existujúce prvky:

  • Musíme tiež nastaviť počiatočnú hodnotu pre premennú elementCounter použitú v JS nastavením počiatočnej hodnoty pre skryté pole v PHP a jej načítania pri inicializácii premennej JS:

    Tu je časť JS:

    Var elementCounter \u003d jQuery ("vstup"). Val ();

    Krok 5. Používanie parametrov v téme.

    Ukladanie a zobrazovanie hodnôt parametrov v administrátorskej oblasti je skvelé, ale naozaj musíme prísť na to, ako zmeniť našu tému, takže teraz prejdeme k získaniu našich nastavení a ich použitiu na danú tému.

    V tejto časti ovplyvnia zmeny index.php. Najskôr si prečítame možnosti do premenných:

    Potom prechádzame zoznamom prvkov $ a zoskupujeme ich do riadkov s blokmi $ num_elements na každom riadku.

    A potom pomocou údajov uložených pre každú položku naplníme vykresľovaciu časť položiek:

    ">post_title;?\u003e

    S niekoľkými prvkami bude stránka vyzerať takto:

    Stále škaredé. Príspevky neobsahujú žiadne miniatúry ani štýl. Aby vyzerali lepšie, najskôr pridajme podporu miniatúr. To sa deje pripojením novej funkcie, ktorá registruje miniatúry ihneď po načítaní témy.

    Funkcia setup_theme_features () (if (function_exists ("add_theme_support")) (add_theme_support ("post-thumbnails");) if (function_exists ("add_image_size")) (add_image_size ("tutorial-pale-size", 200, 200, true) );)) add_action ("after_setup_theme", "setup_theme_features");

    Funkcia setup_theme_features obsahuje miniatúry príspevkov pomocou funkcie add_theme_support, aby WordPress mohol túto funkciu pridať na stránku na uloženie príspevku. Na stránku príspevku teraz môžeme pridať miniatúru výberom možnosti Použiť ako odporúčaný obrázok.

    Funkcia tiež definuje novú veľkosť obrázka, veľkosť tutoriálu - palca, ktorá sa používa pri prijímaní miniatúr v spracovateľskom kóde.

    Po výbere miniatúry uložte zmeny a znovu načítajte hlavnú stránku. Teraz to vyzerá zaujímavejšie:

    Na záver pridáme štýly do súboru style.css, aby boli miniatúry a príspevky na domovskej stránke atraktívnejšie:

    Riadok prvku na prednej strane (prepad: automaticky;). Prvok na prednej strane (plavák: vľavo; okraj: 10px 10px 10px 10px; výplň: 0px; šírka: 200px; výška: 200px;). Miniatúra-obrázok (šírka : 200px; výška: 200px; pozadie: #eee; pozícia: relatívne;). Miniatúra -obrázok .titul (pozícia: absolútna; dno dole: 20px; displej: blok; pozadie: # 000; farba: #fff; výplň: 10px; rodina fontov: Arial; veľkosť písma: 12 bodov; výzdoba textu: žiadna;)

    Záver

    Vytvorili sme stránku nastavení pre vlastný motív. Samozrejme, téma ani zďaleka nie je úplná; Dúfam, že vám tento výukový program pomôže vytvoriť vlastné prispôsobenie na úpravu prvkov vo vašej novej téme WP.