Vedvarende WordPress Admin Merknader Del 1

WordPress admin notices gir en enkel måte å vise meldinger til brukere i administrasjonsområdet, f.eks. etter at et innlegg har blitt oppdatert eller et plugin er aktivert. De brukes også av mange temaer og plugins for å vise varsler om alt fra nye funksjoner eller sikkerhetsadvarsler til detaljer om pågående kampanjer eller oppgraderingsanbefalinger..

WordPress-kjerne gir fire forskjellige administrasjonsmeldinger som kan brukes kontekstuelt for å varsle en bruker til en bestemt type varsel. Dette oppnås ved å vise en unik aksentfarge for hver type administrasjonsvarsel.

Administrasjonsopplysninger vises vanligvis øverst på hver admin side for å skille seg ut fra innholdet på hovedsiden og være tydelig merkbar. De er elegant utformet slik at de ikke blir for visuelt distraherende.

WordPress gjenbruker også administrasjonsvarsler på andre steder i hele administrasjonsgrensesnittet, for eksempel når et tema eller plugin-oppdatering er tilgjengelig. Kjernevirkningen av administrasjonsvarsler er ikke begrenset til bare å vises øverst på administrasjonsskjermen.

Vise en administrasjon i en tilpasset plugin eller et tema er relativt enkelt, og krever bare noen få linjer med kode, som vi snart oppdager. Imidlertid gir WordPress ikke en måte som standard å avvise en vedvarende administrasjonsvarsel.

Selv om du kan legge til en avvisningsknapp til en administrasjonsvarsel, forhindrer dette ikke at det kommer igjen når siden lastes på nytt. Administrasjonsmeldinger vises også på hver admin side, som er langt fra ideell.

Hvis du vil ha granulær kontroll over nøyaktig når og hvor administrasjonsmeldinger vises og for å kunne avvise dem effektivt, må du legge til egendefinert kode for å endre standardadferd.

Hva vi skal dekke

Vi starter i begynnelsen og undersøker grunnleggende om å implementere administrasjonsmeldinger via et tilpasset plugin, inkludert bare å vise dem på bestemte sider i WordPress-administrasjonen.

Administrasjonsmeldinger vises som standard på hver side, noe som ikke alltid er det du vil ha. For eksempel vil du kanskje bare vise et varsel på en plugin-valgside. Så vår neste anløpshavn vil være å betinget vise admin merknader avhengig av gjeldende admin skjerm.

Basert på dette, presenterer vi måter å administrere adminvarsler videre ved å kontrollere når de vises også. I stedet for å vises så snart siden laster, vises de bare hvis visse utløsende forhold er oppfylt. Dette kan være nyttig, for eksempel hvis du vil vise en adminvarsel på en plugin-opsjonsside, men bare etter at innstillingene var lagret.

Som nevnt ovenfor er det ingen enkel måte å avvise vedvarende administrasjonsmeldinger mellom sidelaster. Så resten av opplæringsserien vil fokusere hovedsakelig på ulike metoder du kan ansette for å avvise administrasjonsmeldinger, slik at de ikke vil opptre uventet.

Til slutt, for litt moro, ser vi hvordan du kan lage dine egne tilpassede adminvarseltyper og legge til ekstra dekorasjon som ikoner til administrasjonsmeldingene dine.

Ved slutten av denne opplæringsserien vil du kunne vise hvilken som helst form for administrasjonsskjema hvor som helst i WordPress-administrasjonen. Dessuten kan du bestemme om du vil vise dem på sidebelastning eller via en tilpasset handling, og du vil også kunne avvise dem på en rekke forskjellige måter, avhengig av dine behov.

Ønsker å følge med?

Du får mest mulig ut av denne opplæringsserien hvis du følger med etter hvert som vi bygger ut hvert administrasjonseksempel. Koden er presentert i en trinnvis tilnærming som gjør at du kan bygge en arbeidsplugg på egen hånd når vi går gjennom opplæringen. Men hvis du ikke ønsker å skrive inn all koden selv, vil det ferdige pluginet bli tilgjengelig for nedlasting i del fire.

Det antas at du i det minste har et rudimentært arbeidskunnskap om WordPress-pluginutvikling, inkludert hvordan kroker fungerer. Hvis ikke, vil jeg anbefale å lese om disse emnene via den offisielle WordPress-dokumentasjonen før du fortsetter:

  • Introduksjon til pluginutvikling
  • Skriver et plugin
  • WordPress kroker

For å teste plugin-koden for hvert eksempel, trenger du et fungerende WordPress-nettsted. Den enkleste måten å gjøre dette på er å installere WordPress lokalt, slik at du har enkel tilgang til å redigere filer. 

Det er mange valg for å utvikle lokalt med WordPress, inkludert:

  • Lokal av Flywheel
  • DesktopServer
  • MAMP (og MAMP PRO)
  • vagrant

Hvis du er ny for WordPress-utvikling, er Local eller DesktopServer trolig enklest å sette opp. Lokal er gratis å bruke (de har en premium versjon i verkene), og DesktopServer har en begrenset (gratis) versjon pluss en premium versjon tilgjengelig.

Også, noen tidligere erfaring med PHP og JavaScript anbefales, som det er noen erfaring med å implementere Ajax-forespørsler. Alt vil imidlertid bli forklart underveis, så det er ikke nødvendig med inngående kunnskap.

En nærmere titt på administrasjonsmeldinger

La oss ta en titt på den mest grunnleggende implementeringen av en administrasjonsvarsel og koden som kreves for å gjøre en melding om vellykketype.

funksjon display_admin_notice () ?> 

Hemmeligheten til suksess er å vite noe ingen andre kjenner ~ Aristoteles Onassis

Alt vi gjorde her var å registrere display_admin_notice () funksjon som vil bli kjørt når admin_notices krokbranner. Det spiller ingen rolle hva den registrerte funksjonen heter - det vil ikke påvirke hvordan administrasjonsmeldingen blir gjengitt.

Ikke bekymre deg for å skrive inn koden over deg selv akkurat nå; bare fokus på hvordan administrasjonen blir generert som vi skal bygge på dette i senere opplæringsprogrammer.

Du kan bruke en hvilken som helst oppføring du liker å vise en administrasjonsvarsel; Det anbefalte formatet er imidlertid som følger:

budskap

Erstatte klasse med en liste over CSS-klassenavn. Du bør inkludere klassen legge merke til pluss en av følgende klasser for å bestemme hvilken type administrasjonsvarsel:

  • varsel-feil (rød)
  • varsel-advarsel (Gul / orange)
  • varsel-suksess (grønn)
  • varsel-info (blå)

De budskap blokk kan være hvilken som helst tekst eller gyldig HTML som vil bli vist i administrasjonsmeldingen.

Eksemplet ovenfor viser administrasjonsmeldinger på alle admin sider, som ikke alltid er ideelle, så i del to ser vi på hvordan du kan kontrollere nøyaktig hvilke sider de vises på.

Det er en annen innebygd CSS klasse du kan legge til div.notice som legger til en avvisningsknapp i administrasjonsmeldingen. La oss se hva som skjer når samme suksessadvarsel har er-dismissible klasse lagt til det.

funksjon display_admin_notice () ?> 

Hemmeligheten til suksess er å vite noe ingen andre kjenner ~ Aristoteles Onassis

Vi har nå en enkel måte å avvise en administrasjonsmelding på. Men før du blir for spent, er det et problem med å bruke denne metoden. Hvis du oppdaterer siden, vises administrasjonsmeldingen igjen! Så selv om du kan angi en administrasjonsvarsel som skal avvises, er den vedvarende, og den avviste statusen glemmes mellom sidelastene.

Vi vil dekke vedvarende administrasjonsmeldinger i detalj senere og utforske ulike måter du kan avvise dem uten at de kommer igjen.

Men administrasjonsmeldinger er dårlige! Er de ikke?

Hvis du i det hele tatt er kjent med administrasjonsmeldinger i WordPress og / eller fortsetter med WordPress-nyheter generelt, kan du være klar over en viss grad av negativitet med hensyn til bruk av adminmeldinger i tilpassede plugin og temaer.

Dette stammer fra noen plugins overusing admin notices i et forsøk på å få sine "viktige" meldinger på tvers av. Hvis du har mange plugins installert, og bare noen få av dem misbruker administrasjonsoppsettet, kan du raskt ende opp med administrasjonsvarsel 'suppe', hvor en hel del av meldinger vises øverst på hver admin side.

Overbelastning av adminskjermer med unødvendige merknader kan forårsake kaos (og hodepine) og er forståelig nok irriterende for brukere som gjør det vanskeligere å administrere et nettsted.

Ideelt sett bør bare viktige adminvarsler, for eksempel kritiske sikkerhetsoppdateringer, vises på hver sidebelastning. Hvis du viser globale administrasjonsmeldinger for å fortelle brukere, har et plugin nettopp blitt oppdatert, og bedt om å klikke en kobling for mer informasjon, så bør du virkelig spørre deg selv om dette må være på hver admin side.

En typisk favoritt er også å vise en ikke-kritisk administrasjonsmelding som ikke enkelt kan bli avvist permanent. Jeg garanterer deg at det ikke er noen enklere måte å overføre plugin-brukerne dine enn ved å gjøre dette!

Det er imidlertid brukstilfeller for vedvarende merknader som ikke kan avvises, for eksempel databaseoppdateringer. Plugins som bruker egendefinerte tabeller kan trenge å kjøre databaseoppdateringsrutiner en gang imellom for å holde pluginet kjørt riktig. Så i dette tilfellet er det rimelig å legge til en ikke-avvisbar administrasjonsmelding.

En god tommelfingerregel er å bare bruke sunn fornuft. Vil administrasjonen du legger til i pluginet ditt, irritere deg som bruker? Hvis det er tilfelle, vil du kanskje tenke på å legge til varselet, eller vurdere om det ville bli bedre vist på et annet sted.

Konklusjon

I denne opplæringen har vi dekket hvilke administrasjonsmeldinger er og de forskjellige innebygde typene som tilbys av WordPress, inkludert en avvisbar administrasjonsmelding. Som vi har sett, er det noen ulemper med standard implementering av administrasjonsmeldinger, for eksempel ikke å bli avvist, og det faktum de blir gjengitt på hver admin side.

WordPress har en utrolig aktiv økonomi. Det er temaer, plugins, biblioteker og mange andre produkter som hjelper deg med å bygge opp ditt nettsted og prosjekt. Plattformens åpen kildekode gjør det også til et flott alternativ som du kan forbedre programmeringsevnen din. Uansett, kan du se hva vi har tilgjengelig Envato Market.

Resten av veiledningene i denne serien vil fokusere på hvordan vi kan utvide administrasjonsmeldinger til å være mer praktiske når de brukes i egne plugins og temaer.