Persisted WordPress Admin-meddelanden Del 1

WordPress admin-meddelanden ger ett bekvämt sätt att visa meddelanden till användare i adminområdet, t.ex. efter ett inlägg har uppdaterats eller ett plugin har aktiverats. De används också av många teman och plugins för att visa meddelanden om allt från nya funktioner eller säkerhetsvarningar till detaljer om pågående kampanjer eller uppgraderingsanvisningar.

WordPress-kärnan ger fyra olika administrativa meddelanden som kan användas kontextuellt för att varna en användare till en viss typ av meddelande. Detta uppnås genom att visa en unik accentfärg för varje typ av administrativ meddelande.

Adminmeddelanden visas vanligen högst upp på varje administratörssida för att sticka ut från innehållet på huvudsidan och tydligt märkas. De är elegant utformade för att inte vara för visuellt distraherande.

WordPress återanvänder även administrativa meddelanden på andra platser i hela administratörsgränssnittet, till exempel när ett temat eller plugin-uppdatering är tillgängligt. Kärnanvändning av administrativa meddelanden är inte begränsad till att bara visas överst på adminskärmen.

Att visa ett administrativ meddelande i ett anpassat plugin eller tema är relativt enkelt, vilket kräver bara några rader kod, som vi snart kommer att upptäcka. Men, WordPress tillhandahåller inte ett sätt som standard att avfärda ett fortlöpande administrativ meddelande.

Även om du kan lägga till en avvisningsknapp till ett administrativ meddelande, hindrar det det inte att visas igen när sidan laddas om. Dessutom visas administrativa meddelanden på varje admin sida, vilket är långt ifrån idealisk.

Om du vill ha granulär kontroll över exakt när och var administrationsmeddelanden visas och för att kunna avvisa dem effektivt måste du lägga till anpassad kod för att ändra standardbeteendet.

Vad vi ska täcka

Vi börjar i början och utforska grunderna för att implementera administrativa meddelanden via en anpassad plugin, inklusive att visa dem endast på specifika sidor i WordPress-administratören.

Adminmeddelanden visas som standard på varje sida, vilket inte alltid är det du vill ha. Till exempel kanske du bara vill visa ett meddelande på en plugin-options sida. Så vår nästa anknytningshamn kommer att vara att skickligt visa administrativa meddelanden beroende på aktuell administratörsskärm.

På grund av detta presenterar vi sätt att ytterligare hantera administrativa meddelanden genom att kontrollera när de verkar också. Snarare än att visas så snart sidan laddas, visas de bara om vissa utlösningsvillkor är uppfyllda. Detta kan vara användbart, till exempel om du vill visa ett administrativ meddelande på en plugin-options sida, men endast efter att inställningarna hade sparats.

Som nämnts ovan finns det inget enkelt sätt att avvisa vidhållna administrativa meddelanden mellan sidladdningar. Så återstoden av handledningsserien kommer i första hand att fokusera på olika metoder som du kan använda för att avvisa administrativa meddelanden så att de inte återkommer oväntat.

Slutligen, för lite roligt, ser vi hur du kan skapa egna anpassade administrativ meddelandetyper och lägga till ytterligare dekoration som ikoner till dina administrativa meddelanden.

I slutet av den här handledningsserien kan du visa vilken typ av administrativ meddelande som helst i WordPress-administratören. Dessutom kan du bestämma om du ska visa dem på sidbelastning eller via en anpassad åtgärd, och du kan också avvisa dem på olika sätt, beroende på dina behov.

Vill följa med?

Du får ut det mesta av denna tutorial-serie om du följer med när vi bygger ut varje administrativ meddelande exempel. Koden presenteras i en steg-för-steg-strategi för att du ska kunna bygga en arbetsplugg på egen hand när vi går igenom handledningen. Om du inte vill skriva in hela koden själv kommer det färdiga pluginet att vara tillgängligt för nedladdning i del fyra.

Det antas att du minst har en rudimentär kunskap om WordPress-pluginutveckling, inklusive hur krokar fungerar. Om inte, skulle jag rekommendera att läsa igenom dessa ämnen via den officiella WordPress-dokumentationen innan du fortsätter:

  • Introduktion till pluginutveckling
  • Skriva ett plugin
  • WordPress Hooks

För att testa pluginkoden för varje exempel behöver du en fungerande WordPress-webbplats. Det enklaste sättet att göra detta är att installera WordPress lokalt så att du har enkel åtkomst till att redigera filer. 

Det finns många alternativ för att utveckla lokalt med WordPress, inklusive:

  • Lokal av Flywheel
  • DesktopServer
  • MAMP (och MAMP PRO)
  • Luffare

Om du är ny för WordPress-utveckling, är Local eller DesktopServer troligtvis enklaste att konfigurera. Lokala är gratis att använda (de har en premiumversion i verken), och DesktopServer har en begränsad (gratis) version plus en premiumversion tillgänglig.

Dessutom rekommenderas några tidigare erfarenheter av PHP och JavaScript, liksom en viss erfarenhet av att implementera Ajax-förfrågningar. Men allt kommer att förklaras under vägen, så ingen djup kunskap krävs.

En närmare titt på administrativa meddelanden

Låt oss ta en titt på den mest grundläggande implementeringen av ett administrativ meddelande och koden som krävs för att göra ett meddelande om framgångstyp.

funktion display_admin_notice () ?> 

Hemligheten till framgång är att veta något som ingen annan vet ~ Aristotle Onassis

Allt vi gjorde här var att registrera display_admin_notice () funktion som kommer att köras när admin_notices krokbränder. Det spelar ingen roll vad den registrerade funktionen heter - det påverkar inte hur adminmeddelandet görs.

Oroa dig inte för att ange koden ovanför dig just nu; bara fokusera på hur adminmeddelandet genereras som vi bygger på detta i senare handledning.

Du kan använda valfri markering som du gillar att visa ett administrativ meddelande. Det rekommenderade formatet är dock som följer:

meddelande

Byta ut klass med en lista över CSS-klassnamn. Du bör inkludera klassen lägga märke till plus någon av följande klasser för att bestämma typen av administrativ meddelande:

  • meddelande-error (röd)
  • meddelande-varning (Gul / orange)
  • meddelande-success (grön)
  • meddelande-info (blå)

De meddelande block kan vara någon text eller giltig HTML som kommer att visas i adminmeddelandet.

Exemplet ovan visar administrativa meddelanden på alla administratorsidor, vilket inte alltid är idealiskt, så i del två ser vi på hur du kan styra exakt vilka sidor de visas på.

Det finns en annan inbyggd CSS-klass som du kan lägga till div.notice som lägger till en uppsägningsknapp till administrativ meddelande. Låt oss se vad som händer när samma framgångs administrativa meddelande har är-dismissible klassen läggs till den.

funktion display_admin_notice () ?> 

Hemligheten till framgång är att veta något som ingen annan vet ~ Aristotle Onassis

Vi har nu ett enkelt sätt att avvisa ett administrativ meddelande. Men innan du blir för upphetsad finns det ett problem med att använda den här metoden. Om du uppdaterar sidan visas adminmeddelandet igen! Så, även om du kan ställa in ett administrativ meddelande som kan avvisas, är det beständigt, och den avskedade statusen är borttagen mellan sidladdningar.

Vi kommer att täcka ihållande administrativa meddelanden i detalj senare och utforska olika sätt att du kan avfärda dem utan att de återkommer.

Men Admin-meddelanden är dåliga! Är de inte?

Om du är bekant med administrativa meddelanden i WordPress och / eller fortsätt med WordPress-nyheter i allmänhet kan du vara medveten om en viss negativitet när det gäller att använda administrativa meddelanden i anpassade plugins och teman.

Detta härrör från några plugins överusing admin notices i ett försök att få sina "viktiga" meddelanden över. Om du har många plugins installerade och bara några av dem missbruker adminmeddelandet systemet så kan du snabbt sluta med adminmeddelande "soppa", där en hel del av meddelanden visas överst på varje admin sida.

Överbelastning av administratörskärmar med onödiga meddelanden kan orsaka kaos (och huvudvärk) och är förståeligt irriterande för användarna eftersom det gör det svårare att hantera en webbplats.

Helst bör endast viktiga administrativa meddelanden, som viktiga säkerhetsuppdateringar, visas på varje sidlast. Om du visar globala administrativa meddelanden för att berätta för användarna har ett plugin just uppdaterats och ombedd att klicka på en länk för mer information, så borde du verkligen fråga dig om det måste finnas på varje administratörssida.

En typisk favorit är också att visa ett icke-kritiskt administrativ meddelande som inte enkelt kan avvisas permanent. Jag garanterar att det inte finns något enklare sätt att alienera dina plugin-användare än genom att göra det här!

Det finns dock användarfall för vidhäftande meddelanden som inte kan avvisas, till exempel databasuppdateringar. Plugins som använder anpassade tabeller kan behöva köra databasuppdateringsrutinerna en gång i taget för att hålla pluggen igång korrekt. Så, i det här fallet är det rimligt att lägga till ett icke uppsägbart administrativ meddelande.

En bra tumregel är att bara använda sunt förnuft. Skulle administratörsmeddelandet du lägger till i ditt plugin irritera dig som användare? Om så är fallet kanske du vill tänka på att lägga till meddelandet, eller överväga om det skulle visas bättre på en alternativ plats.

Slutsats

I den här handledningen har vi tagit upp vilka administrativa meddelanden som är och de olika inbyggda typerna som tillhandahålls av WordPress, inklusive ett uppsägningsansvarig administrativ meddelande. Som vi har sett finns det vissa nackdelar med standardimplementeringen av administrativa meddelanden, till exempel att de inte kan avvisas och det faktum de görs på varje administratörssida.

WordPress har en oerhört aktiv ekonomi. Det finns teman, plugins, bibliotek och många andra produkter som hjälper dig att bygga upp din webbplats och ditt projekt. Plattformens öppen källkod gör det också till ett bra alternativ som du kan förbättra dina programmeringsförmåga. Oavsett fall kan du se vad vi har tillgängligt Envato Market.

Resten av handledningarna i den här serien kommer att fokusera på hur vi kan utöka administrativa meddelanden för att vara mer praktiska när de används i egna plugins och teman.