Femti handlinger av WordPress - 50 eksempler (21 til 30)

I denne serien tar vi en titt på WordPress-handlinger: En type krok som applikasjonen tilbyr som gjør at vi kan tilpasse kjøringen. I den siste artikkelen så vi på det andre settet med 10 handlinger som gir oss opptil 20 som vi har dekket så langt.

I tråd med ånden i de forrige artiklene skal vi ta en titt på ytterligere 10 handlinger sammen med eksempler på hver. 

Med det sagt, la oss fortsette.

manipulering get_posts () Før det er behandlet

De pre_get_posts handling håndterer en av de viktigste spørringsfunksjonene: get_posts ().

Inkludert egendefinerte innleggstyper til søkeresultatene

La oss si at du kjører en filmoversiktblogg, og du trenger posten "Filmer" for å dukke opp i søkeresultatene. Du kan inkludere enhver posttype du vil ha ved hjelp av følgende linjer med kode:

is_main_query ()) if ($ query-> is_search) $ query-> sett ('post_type', array ('post', 'movie'));  // Eksempel Kilde: http://codex.wordpress.org/Plugin_API/Action_Reference/pre_get_posts?>

Voilà! Nå vil nettstedets søkeresultater inkludere "Filmer" posttypen i tillegg til vanlige innlegg.

Arbeider med Post Status Endringer

Det er faktisk mange tiltak for innleggsstatusoverganger - draft_to_publish, new_to_future, publish_to_private og så videre. WordPress samler dette settet av handlinger og kaller det $ OLD_STATUS lementære _ $ NEW_STATUS i Codex.

Men hvis du trenger en handling for å holde øye med alle statusendringer, kan du bruke transition_post_status handling.

E-post til administratoren hver gang en innleggsstatus er endret

Tenk deg at du kjører en multiforfatterlogg med tre redaktører, og du trenger informasjon om hver innleggsstatusendring. Hvis det er tilfelle, kan du bruke kodestykket nedenfor:

post_type! == 'post') return;  $ title = $ post-> post_title; $ til = get_option ('admin_email'); $ subject = 'Poststatus endret'; $ body = "Hei, \ n \ Status for posten \" $ title \ "er endret fra \" $ old_status \ "til \" $ new_status \ ". \ n \ nCheers!"; wp_mail ($ til, $ subject, $ body); ?>

Enqueuing Scripts for Admin Pages

Hvis du trenger å injisere en JavaScript-fil i administrasjonspanelet på nettstedet ditt, vil admin_enqueue_scripts Handlingen er for deg: Denne praktiske lille handlingen er ansvarlig for enqueuing av skriptene (og stilene) inne i WordPress dashboard.

Injiserer et skript for innlegget Legg til / rediger skjermene

La oss si at du opprettet en spesiell meta-boks, men du trenger en JavaScript-fil i mappens plugin for å gjøre meta-boksen til å fungere. Hva gjør du? Du skriver ikke ut en

'; ?>

Endre variablene $ disqus_username $ NUMBER_OF_COMMENTS og du er god til å gå!

Innstilling av gjeldende bruker

Åh, en handling for en pluggbar funksjon! WordPress definerer "pluggable funksjoner" som dette:

Disse funksjonene kan erstattes via plugins. Hvis plugins ikke omdefinerer disse funksjonene, vil disse bli brukt i stedet.

Og denne praktiske lille handlingen er en del av pluggen wp_set_current_user kjernefunksjon, som endrer gjeldende bruker med ID eller navn.

Fjerner verktøylinjen til abonnenter

Vi kommer ikke til å endre brukeren nå, men i stedet skal vi dra nytte av handlingen og sjekke evnen til den nåværende brukeren, og deaktiver deretter verktøylinjen hvis brukeren bare er abonnent:

Laster inn plugger

Hvis du trenger ting gjort etter at WordPress er ferdig med å laste inn aktiverte plugins, kan du stole på plugins_loaded handling.

Start pluggen din

Den riktige måten å initialisere pluginet ditt og få det til å kjøre, er å hekte hovedfunksjonen til plugins_loaded handling. Her har vi det enkleste eksemplet i verden:

Dette er litt dummy tekst!

'; // Eksempel Kilde: http://www.scratchinginfo.com/common-wordpress-action-hooks-for-plugin-development/?>

Hvis du trenger et bedre eksempel, og jeg er sikker på at du gjør det, bør du definitivt sjekke ut Tom McFarlin's "WordPress Plugin Boilerplate" som har alt du trenger for å bygge et WordPress-plugin med begrepet objektorientert programmering i tankene.

Slutten av del tre

Vi gikk gjennom den tredje sats på 50 handlinger i denne artikkelen. Jeg håper du likte og lærte nye ting fra det. Ser deg i den neste!

Jeg vil også høre tankene dine. Hva synes du om disse handlingene? Legg inn dine kommentarer nedenfor; og hvis du likte artikkelen, ikke glem å dele den!