Raskt tips! 9 Handy WordPress Code Snippets (som du egentlig burde vite!)

Her er noen korte, men praktiske kodestykker som kan gjøre livet ditt som en WordPress-utvikler litt enklere. Vi vil dekke litt av alt, fra hvordan du automatisk sletter innlegg, hvordan du raskt retter opp et innleggsminiatyr, for å omdirigere brukere når de har logget inn. Åpne opp tekstutskiftingsprogrammet og gjør deg klar til å legge til noen få nye snarveier!

Vi starter med noen få enkle linjer.


1. Skjul Front-End Dashboard Bar

Siden v3.1 har WordPress gitt en front-end admin bar for alle brukere. Avhengig av din hensikt, kan dette forringe utseendet på nettstedet ditt. For å deaktivere den, bruk funksjonen show_admin_bar:

 show_admin_bar (FALSE);

Du kan også deaktivere dette fra brukerprofilen din, men dette er spesielt nyttig hvis du har massevis av forfattere / medlemmer på nettstedet, og du må deaktivere baren helt.


2. Tøm papirkurv innlegg automatisk

Trashed innlegg kan bygge opp hvis du glemmer å slette dem permanent. Bruk denne koden i /wp-config.php for å tømme dine søppelpost:

 define ('EMPTY_TRASH_DAYS', 5);

3. Slå på WordPress Internal Debugger

Når du utvikler, må du se feilene koden din kaster opp. Husk at ikke alle feil stopper et skript fra å utføre, men de er feil uansett, og de kan ha merkelige effekter på din andre kode. Så slå på WordPress-feilsøking ved å plassere dette i /wp-config.php:

 define ('WP_DEBUG', SANT);

Du kan bli overrasket av det du ser i bunnteksten. Husk å slå av debugging når nettstedet ditt er klar til å bli offentlig. Feilsøkingsinformasjon kan være verdifull for hackere.


4. Omdirigere brukere etter at de har logget inn

Når en bruker logger på, blir de normalt sendt direkte til dashbordet. Dette er kanskje ikke den opplevelsen du vil at brukerne skal ha. Følgende kode bruker login_redirect-filteret for å omdirigere ikke-administratorer til hjemmesiden:

 add_filter ("login_redirect", "subscriber_login_redirect", 10, 3); funksjon abonnent_login_redirect ($ redirect_to, $ request, $ bruker) if (is_array ($ user-> roller)) if (in_array ('administrator', $ user-> roller)) returner home_url ('/ wp-admin /' );  returner home_url (); 

Basert på brukerens rolle, kan du sende dem til hvilken som helst side du liker.


5. Vis et standard innlegg Miniatyrbilde

Siden v2.9 har WordPress gitt et innlegg miniatyrbilde, akkurat som bildene du ser her på wp.tutsplus. På admin innleggssiden kalles det "Utvalgt bilde". Men hvis du ikke har et bilde for innlegget ditt, kan du bare ringe et standardbilde.

Innenfor løkken:

 hvis (has_post_thumbnail ()) the_post_thumbnail ();  annet echo ''; 
  • sjekk om innlegget har en miniatyrbilde med has_post_thumbnail
  • Hvis ja, vis det med the_post_thumbnail ()
  • Ellers generer du en img-tag for deg som standard miniatyrbilde

Du kan til og med ha en masse standardbilder og velge en tilfeldig


6. Vis "Time Ago" Posttid for innlegg og kommentarer

I stedet for: Skrevet 12. oktober 2011, kan vi ha: Skrevet 2 dager siden.

Som brukt i løkken:

 ekko human_time_diff (get_the_time ('U'), current_time ('tidsstempel')). 'siden';
  • human_time_diff () konverterer en tidsstempelverdi til en vennlig form
  • get_the_time () får den tiden innlegget ble laget, med 'U'-parameteren blir verdi som Unix tidsstempel
  • current_time () får den nåværende tiden, med 'tidsstempel' parameter blir verdi som Unix tidsstempel

Bruk det også på kommentarer:

 ekko human_time_diff (get_comment_time ('U'), current_time ('tidsstempel')). 'siden';

Eller kanskje vis den vanlige datoen / tidspunktet for innlegget bare hvis det er mer enn en uke siden, viser ellers tiden siden:

 $ time_diff = current_time ('tidsstempel') - get_the_time ('U'); if ($ time_diff < 604800)//seconds in a week = 604800 echo 'Posted ' . human_time_diff(get_the_time('U'), current_time('timestamp')) . ' ago'; else echo 'Posted on ' . get_the_date() . ', ' . get_the_time(); ;

7. Style Post Author Comments Differently

Det er fint for brukerne å kunne se når forfatteren av et innlegg legger en kommentar til innlegget, akkurat som vi gjør her på wp.tutsplus. Alt vi trenger å gjøre er å legge til en klasse i kommentaromslaget og stil det i temaet.

For å finne hvilke kommentarer som er gjort av forfatteren, bruker vi denne koden til å skrive ut et klassenavn:

 hvis ($ comment-> user_id == get_the_author_meta ('ID')) echo '
'; annet echo '
';

Vi sammenligner bruker-IDen til kommentaren med postforfatter-ID fra get_the_author_meta. Hvis de matcher, ekko vi en klasse av forfatterkommentar som vi kan danne stil med css.


8. Vis bruker, innlegg og kommentar info for ditt WordPress-nettsted

Du kan spørre din WordPress-database direkte for å vise nyttig info om nettstedet. Sett denne funksjonen i dine funksjoner.php og ring den overalt i malfiler med get_site_data ()

 funksjon get_site_data () global $ wpdb; $ users = $ wpdb-> get_var ("SELECT COUNT (ID) FROM $ wpdb-> users"); $ posts = $ wpdb-> get_var ("VELG COUNT (ID) FRA $ wpdb-> innlegg hvor post_status = 'publiser'"); $ comments = $ wpdb-> get_var ("VELG COUNT (comment_ID) FROM $ wpdb-> comments"); ekko '

'. $ brukere. 'medlemmer har laget'. $ kommentarer. 'kommentarer i'. $ innlegg. 'innlegg

';

Dette er bedre enn å ringe noen av de innfødte WordPress-funksjonene, da det teller alle posttyper og bare publiserte innlegg.


9. Legg til en JavaScript-fil riktig

WordPress gir oss wp_enqueue_script-funksjonen, slik at vi kan legge til skript på en trygg måte.

Si at vi har et skript dir under vår mal dir, og der inne har vi et skript kalt do_stuff.js. Så vi har url_to_template_dir / scripts / do_stuff.js

La oss inkludere vårt skript på riktig måte. Dette må inkluderes før wp_head-samtalen i headerfilen din:

 $ script_url = get_template_directory_uri (). '/Scripts/do_stuff.js'; wp_enqueue_script ('do_stuff', $ script_url);

Her sammenkaller vi skriptveien vår og navnet på utdataene i WordPress get_template_directory_uri-funksjonen. Vi skiller da skriptet ved å gi et håndtak (for mulig senere referanse) og url til vårt skript. WordPress vil nå inkludere vårt skript på hver side.

Den virkelige fordelen for alt dette er at, si at vårt do_stuff-skript var et jQuery-skript, da måtte vi også ha jQuery lastet.

Nå er jQuery inkludert som standard i WordPress, og har blitt forhåndsregistrert med håndtakets jquery. Så alt vi trenger å gjøre er enqueue vår jQuery, så enqueue våre do_stuff.js, slik:

 wp_enqueue_script ( 'jquery'); $ script_url = get_template_directory_uri (). '/Scripts/do_stuff.js'; wp_enqueue_script ('do_stuff', $ script_url, array ('jquery'));

Merk den tredje parameteren til wp_enqueue_script for do_stuff: som forteller WordPress at vårt do_stuff-skript er avhengig av filen med håndtakets jquery. Dette er viktig fordi det betyr at jquery vil bli lastet før do_stuff. Faktisk kan du ha enqueue-utsagnene i omvendt rekkefølge, og det ville ikke hende noe fordi siden definering av et scripts avhengighet gjør det mulig for WordPress å sette skriptene i riktig innlasting rekkefølge slik at de alle jobber lykkelig sammen.