Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. WordPress
Code

Trvalej WordPress Admin oznámenia: Časť 4

by
Difficulty:IntermediateLength:LongLanguages:
This post is part of a series called Persisted WordPress Admin Notices.
Persisted WordPress Admin Notices: Part 3

Slovak (Slovenčina) translation by Tereza Foretová (you can also view the original English article)

Tak ďaleko v tejto sérii sme prebrali dve oddelené cesty odmietnuť pretrvávajúce WordPress admin oznámenia. Budeme budovať na tom v tomto štvrtá a Posledná časť tutorial séria pri pohľade na dve ďalšie špecifické metódy na natrvalo zrušiť admin oznámenia. Sme si celý veci o tom, ako vytvoriť svoj vlastný vlastné admin oznámenia typy a pridať dekorácie, ako sú ikony.

Dôležité oznámenie Admin

Už vieme ako Zobraziť admin oznámenie, že môžu byť zamietnuté. Všetci musíme urobiť, je pridať triedu je-dismissible CSS pre obsahujúcich prvok div. Však to je len dočasná a bude len zatvoriť oznámenie pre aktuálnu stránku. Ako stránka načíta, to sa objaví znova.

Aby bolo trvale dismissible vyžaduje viac kódu, než sme videli tak ďaleko, ale to nie je príliš ťažké zaviesť. Pozrime sa, čo je zapojený, počnúc prehľad.

Budeme používať vlastné možnosť uchovávať Zobraziť stav oznámenia náš admin. Na plugin aktivácie, táto možnosť bude vytvorený/aktualizovaný a nastavený na true. Admin oznámenia potom sa zobrazia iba ak možnosť platí v súčasnosti.

Kľúčom k tejto metódy je pomocou Ajax nám umožňuje nastaviť možnosť FALSE, po kliknutí na tlačidlo Zrušiť. Raz úspešne nastavená na false, podmienené kód, ktorý kontroluje stav možnosť zlyhá a admin oznámenia sa už nezobrazuje.

Začnime tým, že pridá admin oznámení sám, ktorý bude obyčajný oznámenia začať. V Gwyer_Dismissible_Admin_Notices::init(), pridajte hovoru add_action:

Potom pridajte funkciu spätného volania dismiss_admin_notice() do tej istej triedy:

Toto pridá oznámenie o admin, ktorý zobrazuje iba na stránke admin plugin a je veľmi podobný tomu, čo sme videli v predchádzajúcich cvičeniach. Iba mierny rozdiel tu je, že sme tiež pridali CSS ID admin oznámenia div kontajnera. Použije sa na konkrétne cieľové admin oznámenia máme záujem.

Standard admin notice with custom CSS ID

Budeme musieť pridať JavaScript kód, aby Ajax volania pracovať, tak pridať js priečinok v koreňovom priečinku plugin admin-oznámenia a vytvorte súbor s názvom admin-notices.js. Pridať kód do nového súboru to vyskúšať správne nakladanie zareaguje výstupom vo forme správy konzoly.

V Gwyer_Plugin_Options::init(), pridajte hovoru add_action do fronty náš skript súbor:

Chceme len tento JavaScript súbor má byť naložený na stránke Možnosti plugin, takže potrebujeme spôsob, ako podmienečne enqueue to. Môžeme to skontrolovaním čo admin stránku sme v súčasnosti na zistiť, či je náš plugin možnosti stránky.

Môžeme dostať rukoväť na našej stránke plugin možnosti ukladaním vráti hodnotu add_options_page() vlastnosť triedy. Sme nie je potrebné túto hodnotu predtým, tak proste sme len add_options_page() bez uloženia vráti hodnotu.

Pridať objekt triedy Gwyer_Plugin_Options:

Potom, v create_admin_menu_page(), používať Táto nová vlastnosť na ukladanie rukoväť na našej stránke plugin možnosti:

Môžeme konečne enqueue náš JavaScript súbor tak, aby sa zobrazovala iba na stránke plugin možnosti:

Ak všetko pôjde dobre potom uvidíte admin-notices.js naložené! hlásenie pred na konzoly prehliadača.

Admin notice JavaScript loaded

Aktualizovať kód JavaScript v admin-notices.php takto:

Tu, počúvame vás na kliknite na udalosť ID CSS an1 sme pridali náš admin oznámenie skôr. Akonáhle je to klikli, je vyhodený žiadosť Ajax. Poďme spracovať túto žiadosť ďalej.

V Gwyer_Dismissible_Admin_Notices::init(), pridajte hovoru add_action:

Funkcia spätného volania sa začnú zobrazovať po display_dismissible_admin_notice Ajax žiadosť požiare. Pamätajte si, že to pôvodne bola definovaná ako vlastnosť data.action v našu žiadosť Ajax.

Teraz pridať funkciu spätného volania display_dismissible_admin_notice Gwyer_Dismissible_Admin_Notices:

Uložte zmeny, reload stránky plugin možnosti a kliknite na tlačidlo admin oznámenia zrušiť tlačidlo vidieť Ajax vyžiadanie v akcii!

The Ajax request in action

Ak žiadosť bola úspešná uvidíte Ajax spracovanie žiadosti... HOTOVO! správa zobrazí v konzole prehliadača.

Posledným kúskom skladačky je vytvoriť vlastné možnosť nastavená na pravda, ale čo potom je nastavená na hodnotu false, po kliknutí na tlačidlo Zrušiť. Potom, keď plugin možnosti stránka načíta, admin oznámení zobrazuje len ak platí hodnota vlastné možnosti.

V Gwyer_Dismissible_Admin_Notices::init(), pridať druhé volanie na register_activation_hook():

A pridajte funkciu spätného volania create_custom_option triedy:

Teraz, keď je aktivovaná pluginu, vlastné možnosť nazýva gwyer-zamietol vytvorený a nastaviť na hodnotu true.

Aktualizácia display_dismissible_admin_notice() chcete aktualizovať naše vlastné možnosť keď Ajax požiadavku požiare:

Teraz všetko, čo zostáva urobiť, je aktualizovať dismiss_admin_notice() kontrolovať hodnotu vlastné možnosti a iba render admin oznámenia, ak je nastavená na hodnotu true.

Deaktivovať a aktivovať plugin testovať kód sme pridali. Navštíviť stránku možnosti plugin, zatvoriť admin oznámenie a obnovte stránku. Oznámenie by malo byť viditeľný. Yay!

Pretože vlastné voľba nastavená na pravda, zakaždým, keď je aktivovaná pluginu, Opakujte vyššie uvedené kroky na test dismissible admin oznámenia toľkokrát, koľkokrát, ako sa vám páči.

Držať veci jednoduché, to bol príklad holé kosti pomocou žiadosť Ajax nastaviť vlastný admin oznámenie možnosť. V praxi by ste chceli použiť jednorazový kód (číslo použité raz) hodnotu overiť žiadosť Ajax ako minimálne bezpečnostné opatrenie.

To bolo veľa práce, aby len natrvalo zatvoriť admin oznámenie, ale konečný efekt funguje dobre a je niečo, čo môžete použiť účelne vo vlastných modulov.

Vlastná akcia Admin oznámenie prepustenia

Je čas pozrieť sa na trochu inú metódu pre zamietnutie admin oznámenia teraz. Je to kobylka typu admin upozornenia sa zobrazujú na všetkých obrazovkách admin a nemôže byť odvolaný, kým nejakú akciu vykonal.

Poznámka: Túto metódu používajte s opatrnosťou, alebo budete riziko znepřátelily užívatelia plugin veľmi rýchlo!

Konkrétnej akcie sa budeme sústrediť na v našom príklade bude Zobraziť oznámenie o admin, kým vyžaduje plugin alebo zoznam pluginov bol inštalovaný a aktivovaný.

Na rozdiel od predchádzajúce metódy, kde sme mali proskočit obručou, aby si admin oznámenia sa natrvalo dismissible, riešenie pre túto metódu je oázou pre jednoduché!

Po prvé, zakomentujte všetky funkcie volania v Gwyer_Dismissible_Admin_Notices::init(). Potom pridajte novú add_action() funkcia:

A definovať spätné volanie takto:

To je všetko tam je k nemu! Som vám povedal, to bolo jednoduché, nie?

Jediné, čo sme urobili inak tentoraz bolo použitie is_plugin_active() WordPress funkcie otestovať, či Hello Dolly plugin nainštalovaný a aktivovaný. Ak nie, is_plugin_active() vráti false a náš admin oznámenia sa zobrazí.

Example of a nag admin notice

Skúste aktivovať plugin Hello Dolly overiť admin oznámenia zmizne.

To funguje dobre pre jediného pluginy, ale co keby ste chceli pripomenúť užívateľom aktivovať viac pluginy? Namiesto pevného-kódovanie v Hello Dolly plugin informácie, by sme mohli vytvoriť pole whitelist našu požadované pluginy.

Nahradiť install_plugin_to_dismiss_admin_notice() s:

Požadované pluginy sú teraz uložené v poli, ktoré je v slučke cez Skontrolujte, či každý plugin bol aktivovaný. Pre každý plugin nie je momentálne aktívne, názov znie $requires_activating pole, ktorá je prenášaného oznámenia admin ako oddelené čiarkou zoznam mien vyžaduje plugin.

List of required plugins

Vlastné Admin oznámenia

Kým skončíme, Poďme si trochu zábavy vytvorením vlastné vlastné admin oznámenia typy. Pozrime sa, ako pridať niektoré typy oznámení vlastný admin našich vlastných. Teraz budete mať plne oboznámený s štyri oznámenia vstavaný admin WordPress poskytuje v predvolenom nastavení, ale to nie je tak ťažké prísť s niektorými z našich vlastných.

Najprv však zakomentujte všetky funkcie volania Gwyer_Dismissible_Admin_Notices::init() tak začneme o čistým štítom.

Budeme musieť pridať CSS pre naše vlastné admin oznámenia typy, takže v koreňovom priečinku plugin pridať css zložky a vytvorte súbor s názvom admin-notices.css. Zaradiť do fronty na všetky admin stránok, pridajte hovoru add_action v Gwyer_Plugin_Options::init().

Potom pre spätné volanie enqueue_styles(), pridajte túto metódu do tej istej triedy:

Teraz poďme nastaviť novú metódu na výstup naše vlastné admin oznámenia. V Gwyer_Admin_Notices::init(), pridajte:

Potom pridajte spätné volanie na zobrazovanie radov vlastný admin oznámenia:

Nakoniec pridať CSS admin-notices.css štýl naše vlastné admin oznámenia:

Po uložení zmeny, načítať žiadne admin stránky a pozrite sa na naše vlastné admin oznámenia.

Some examples of custom admin notices

Súdiac podľa výsledkov, je pravdepodobne dobrý nápad používať vlastné admin oznámenia striedmo, inak budete spúšťať riziko z nich hľadá krikľavé.

Nebudem zachádzať do podrobností o vlastné CSS používa. Je to len pre trochu zábavy, a väčšina styling je docela samo-vysvetľujúce.

Použili sme dashicons písmo ikon pre naše vlastné admin oznámenia pre pohodlie, ako sú k dispozícii vo WordPress admin štandardne. Ale môžete importovať a používať žiadne ikony vám radi na ďalšie dekorácie.

Skúste kód pre seba

Všetky kód z tento tutorial séria má boli zabalené do WordPress plugin si môžete stiahnuť. Pozrite sa na kód, rozšíriť a implementovať nové spôsoby, ako Zobraziť (a odvoláva) admin oznámenia. Uistite sa, dajte mi vedieť v komentároch, ak vytvoríte niečo cool! Chcela by som vidieť, čo ste prišiel.

Záver

Ďakujeme za mňa v tejto štvordielnej tutorial série. Dúfajme, že teraz máte oveľa väčšiu dôveru ako vykonávať admin oznámenia na vlastných projektoch.

Sme prebrali mnoho rôznych aspektov WordPress admin oznámenia, vrátane viacerých spôsobov natrvalo prepustiť, ktorý nie je možné bez vlastného kódu.

Vytvoriť svoj vlastný vlastné admin oznámenia je docela jednoduché, príliš, ale v praxi by ste chceli používať striedmo na vlastných projektoch. Väčšinu času je to najvhodnejšie miesto na uloženie na predvolené WordPress štýly pre konzistentné používateľské skúsenosti.

WordPress má neuveriteľne aktívny ekonomiky. Existujú témy, pluginy, knižníc a mnoho ďalších produktov, ktoré vám pomôže budovať vaše stránky a projektu. Open-source povahe platformy tiež robí to skvelá voľba, z ktorej môžete lepšie vaše znalosti programovania. Či tak alebo onak, môžete vidieť, čo máme k dispozícii na trhu Envato.

A nezabudnite si stiahnuť plugin a pohrajte sa s kódom. Je to skvelý spôsob, ako sa lepšie oboznámiť s tým, ako všetky kusy dohromady. A prosím, dajte mi vedieť vaše myšlienky na tutorial cez komentáre nižšie.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.