I del 2 i denne veiledningen viste jeg deg hvordan du legger til tilpassede metaboxer i WordPress-dashbordet, som du kan bruke til å gi hjelpetekst til dine kunder eller brukere.
Men hva om du vil gi hjelpetekst på individuelle redigeringsskjermbilder? I denne veiledningen vil jeg vise deg hvordan du gjør nettopp det.
I denne opplæringen lærer du hvordan du:
Jeg skal lage et plugin for å gjøre dette - hvis du allerede har opprettet et plugin etter å ha fulgt Del 1 til 3 i denne serien, kan du foretrekke å legge til koden fra denne opplæringen til det pluginet, noe som gir deg ett plugin med alle dine admintilpasninger.
For å fullføre denne opplæringen trenger du:
I begynnelsen av pluginet legger jeg til følgende linjer:
/ * Plugin Name: Wptuts + Tilpass Admin Part 4 - Hjelp Tekst Plugin URI: http://rachelmccollin.co.uk Beskrivelse: Denne plugin støtter opplæringen i Wptuts +. Den legger til hjelpetekst på WordPress-redigeringsskjermen. Versjon: 1.0 Forfatter: Rachel McCollin Forfatter URI: http://rachelmccollin.com Lisens: GPLv2 * /
Hvis du vil legge til en metaboks som inneholder hjelpetekst, bruker du add_meta_box ()
funksjon, som du også ville bruke hvis du opprettet en metaboks for postmetadata eller i en innstillingsskjerm. Denne funksjonen tar noen parametere:
Parametrene er:
$ id
- den unike ID for metaboxen.$ title
- tittelen som vil bli vist til brukerne.$ tilbakeringing
- Tilbakeringingsfunksjonen definerer innholdet i metaboxen.$ post_type
- posttypen hvis redigeringskjerm metaboxet vil vises i. La dette være tomt for å legge til metaboxene på alle posttypedigeringsskjermbildene, eller angi hvilken posttype du vil målrette mot.$ sammenheng
- hvor i redigeringsskjermen vil du at metaboxet skal vises - 'normal', 'avansert' eller 'side'. Standard er "avansert" som plasserer metaboxet i hovedområdet på skjermen.$ prioritet
- innenfor rammen du har definert, prioritet for denne metaboxen ('høy'
, 'kjerne'
, 'misligholde'
eller 'lav'
). Dette er nyttig hvis du legger til flere metaboxer.$ callback_args
- argumenter for å passere inn i tilbakeringingsfunksjonen (valgfritt)Så, for å legge til en metaboks i hovedområdet av postredigeringsskjermen for bare innlegg, legger jeg til følgende i plugin:
// Legg til metabox under redigeringsruten funksjon wptutsplus_metabox_after_title () add_meta_box ('ettertittel-hjelp', 'Bruk denne skjermen', 'wptutsplus_after_title_help_metabox_content', 'post', 'advanced', 'high'); add_action ('add_meta_boxes', 'wptutsplus_metabox_after_title');
Dette legger til en tom metaboks, som ikke vil fungere enda fordi jeg ikke har lagt til tilbakeringingsfunksjonen. Dette er som følger:
// tilbakeringingsfunksjon for å fylle metaboksfunksjon wptutsplus_after_title_help_metabox_content () ?>Bruk dette skjermbildet for å legge til nye artikler eller redigere eksisterende. Pass på at du klikker på Publiser for å publisere en ny artikkel når du har lagt til den, eller "Oppdater" for å lagre eventuelle endringer.
Dette legger nå en metaboks til min innleggsredigeringsskjerm, som vist på skjermbildet:
Som du ser, har jeg fjernet noen av de andre metaboxene som normalt settes i skjermbildet etter redigering (for eksempel utdrag og diskusjon), men min nye metaboks er under redigeringsruten og derfor ikke veldig synlig. Det er umulig å bruke
add_meta_box ()
funksjon for å legge til en metaboks over hovedredigeringsruten uten å benytte en jQuery-løsning som flytter hovedredigeringsruten ned, og som jeg synes er overkill for dette problemet. Så hvilke alternativer har jeg?
- For det første kan jeg legge til en metaboks over "Publiser" -metaboxet, som vil være mer åpenbart for brukerne.
- Alternativt kan jeg jukse, og bruke
edit_form_after_title
Handlingskrok for å legge til en falsk metaboks over redigeringsruten.Jeg begynner med det første alternativet: legge til en metaboks til høyre over "Publiser" -metaboxen.
2. Legge til en metaboks på høyre side av redigeringsskjermen
For å legge til en metaboks øverst til høyre på skjermen bruker jeg
add_meta_box ()
Fungerer på samme måte som før, med noen av parameterne endret. Jeg vil også bruke en annen tilbakeringingsfunksjon for å fylle metaboxet med annet innhold.I ditt plugin legger du til følgende:
// Legg til hjelpetekst til høyre for skjermen i en metaboksfunksjon wptutsplus_metabox_top_right () add_meta_box ('ettertittelhjelp', 'Publiser og lagre endringer', 'wptutsplus_top_right_help_metabox_content', 'post', 'side', 'high') ; // tilbakeringingsfunksjon for å fylle metaboksfunksjon wptutsplus_top_right_help_metabox_content () ?>Pass på at du klikker på Publiser under for å publisere en ny artikkel når du har lagt til den, eller "Oppdater" for å lagre eventuelle endringer.
Dette legger til en liten metaboks med korte instruksjoner - hvis jeg la til mye mer tekst, ville det flytte metaboxene under det for langt nedover skjermen. Du kan se resultatet i skjermbildet:
Merk: Jeg har kommentert funksjonen for metaboxen i hovedområdet på skjermen før du legger til denne nye metaboxen, og derfor kan du ikke se det på skjermbildet..
3. Legge til en "Feil" Metaboks Over Redigeringsruten
Så legger du til en liten metaboks øverst til høyre på skjermen er ganske enkelt - men hva om jeg vil ha en metabox øverst til venstre over redigeringsruten?
For å gjøre dette, bruker du ikke
add_meta_box ()
funksjon, men brukedit_form_after_title
krok, som legger inn innhold etter posttittelen og før redigeringsruten. Jeg legger til en funksjon i den kroken for å definere markeringen som vil bli lagt til på skjermen, og jeg vil bruke klasser i min markering for å gjenskape utseendet på en metaboks.I ditt plugin legger du til følgende:
funksjon wptutsplus_text_after_title ($ post_type) ?>Bruk denne skjermen
Bruk dette skjermbildet for å legge til nye artikler eller redigere eksisterende. Pass på at du klikker på Publiser for å publisere en ny artikkel når du har lagt til den, eller "Oppdater" for å lagre eventuelle endringer.
Dette legger til noen markering på redigeringsskjermen som ser ut som en metaboks, fordi jeg inkluderte
.postkasse
og.innsiden
klasser:Det er imidlertid ett problem med denne merkingen - det vises på redigeringsskjermen for hver posttype. Som jeg ikke bruker
add_meta_box ()
funksjon, jeg har ikke luksusen til$ post_type
parameter. Så i stedet for å bruke dette, utfører jeg en sjekk for redigeringssiden vi er på før du skriver ut merkingen.Som jeg er i WordPress-backend, kan jeg ikke bruke standard betingede koder jeg vil bruke i en malfil for å sjekke plasseringen min, men jeg kan bruke
get_current_screen ()
funksjon for å identifisere hvilken redigeringsskjerm jeg er på.De
get_current_screen ()
Funksjonen returnerer en matrise, som blant annet inkluderer innleggstypen for gjeldende skjerm. Jeg kan bruke dette for å sjekke om posttypen som blir redigert, er'post'
.Legg inn i din funksjon, over det andre innholdet, følgende:
$ screen = get_current_screen (); $ edit_post_type = $ skjerm-> post_type; hvis ($ edit_post_type! = 'post') returnere; ?>Hele funksjonen vil nå se slik ut:
// Legg til falsk metaboks over redigeringsruten funksjon wptutsplus_text_after_title ($ post_type) $ screen = get_current_screen (); $ edit_post_type = $ skjerm-> post_type; hvis ($ edit_post_type! = 'post') returnere; ?>Bruk denne skjermen
Bruk dette skjermbildet for å legge til nye artikler eller redigere eksisterende. Pass på at du klikker på Publiser for å publisere en ny artikkel når du har lagt til den, eller "Oppdater" for å lagre eventuelle endringer.
Dette vil sikre at den "falske" metaboxen bare vil bli sendt ut på Post redigering skjermen, og ikke redigeringsskjermen for andre innleggstyper. Du kan da gjenta denne funksjonen for forskjellige posttyper (for eksempel
'side'
og'Festet'
, samt dine egne egendefinerte innleggstyper), for å vise forskjellig hjelpetekst for dem.
Sammendrag
Å legge til hjelpetekst til individuelle redigeringsskjermbilder kan være svært nyttig for brukere som ikke vil fortsette å komme tilbake til oversikten for å få hjelp.
I denne opplæringen har du lært hvordan du legger til metaboxer for hjelpetekst ved redigering av skjermbilder, samt hvordan du bruker
edit_form_after_title
krok for å legge til hjelpetekst rett over redigeringsruten.