Här är några korta men praktiska kodutdrag som kan göra ditt liv som en WordPress-utvecklare lite enklare. Vi kommer att täcka lite av allt, från hur du automatiskt raderar inlägg, hur du snabbt rensar ut en postminnebild, hur du omdirigerar användare när de har loggat in. Öppna ditt textbytesprogram och gör dig redo att lägga till några nya genvägar!
Vi börjar med några enkla linjer.
Sedan v3.1 har WordPress tillhandahållit en front-end admin-bar för alla användare. Beroende på din avsikt kan detta förringa utseendet på din webbplats. För att inaktivera den, använd funktionen show_admin_bar:
show_admin_bar (FALSE);
Du kan också inaktivera det här från din användarprofil, men det här är särskilt användbart om du har massor av författare / medlemmar på webbplatsen och du måste inaktivera fältet helt och hållet.
Skrotade inlägg kan byggas upp om du glömmer bort dem permanent. Använd den här koden i /wp-config.php för att tömma dina papperskorgen:
definiera ('EMPTY_TRASH_DAYS', 5);
När du utvecklar måste du se de fel som din kod kasta upp. Tänk på att inte alla fel stannar ett skript från att exekvera men de är fel ändå, och de kan ha märkliga effekter på din andra kod. Så sätt på WordPress-debuggen genom att placera den här i din /wp-config.php:
definiera ('WP_DEBUG', SANT);
Du kan bli förvånad över vad du ser i sidfoten. Kom ihåg att stänga av felsökning när din webbplats är redo att bli offentlig. Felsökningsinformation kan vara värdefull för hackare.
När en användare loggar in skickas de normalt direkt till deras instrumentpanel. Det här kanske inte är den upplevelse du vill att dina användare ska ha. Följande kod använder filteret login_redirect för att omdirigera icke-administratörer till hemsidan:
add_filter ("login_redirect", "subscriber_login_redirect", 10, 3); funktionen subscriber_login_redirect ($ redirect_to, $ request, $ user) if (is_array ($ user-> roller)) om (in_array ('administrator', $ user-> roller)) returnera home_url ('/ wp-admin /' ); returnera home_url ();
Baserat på användarens roll kan du skicka dem till vilken sida du vill.
Sedan v2.9 har WordPress lagt fram ett miniatyrbildsinställningsalternativ, precis som bilderna du ser här på wp.tutsplus. På admin-postsidan heter det "Featured Image". Men om du inte har en bild för ditt inlägg kan du helt enkelt ringa en standardbild.
Inom slingan:
om (has_post_thumbnail ()) the_post_thumbnail (); annars echo '';
Du kan till och med ha en massa standardbilder och välja en slumpmässig
I stället för: Publicerad den 12 oktober 2011 kan vi ha: Postat för 2 dagar sedan.
Som används i slingan:
echo human_time_diff (get_the_time ('U'), current_time ('timestamp')). ' sedan';
Använd det på kommentarer också:
echo human_time_diff (get_comment_time ('U'), current_time ('timestamp')). ' sedan';
Eller kanske bara visa det vanliga datumet / tidpunkten för inlägget om mer än en vecka sedan, annars visa tiden sedan:
$ time_diff = current_time ('timestamp') - 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(); ;
Det är trevligt för användarna att kunna se när författaren till ett inlägg kommenterar inlägget, precis som vi gör här på wp.tutsplus. Allt vi behöver göra är att lägga till en klass i kommentaromslaget och sedan stila det i temat.
För att hitta vilka kommentarer som görs av författaren använder vi den här koden för att mata ut ett klassnamn:
om ($ comment-> user_id == get_the_author_meta ('ID')) echo ''; annars echo '';Vi jämför användar-ID för kommentaren med postförfattar-ID från get_the_author_meta. Om de matchar, echo vi en klass av författare_kommentar som vi sedan kan stile med css.
8. Visa användar-, post- och kommentarinformation för din WordPress-webbplats
Du kan fråga din WordPress-databas direkt för att visa användbar webbplatsinformation. Lägg den här funktionen i dina funktioner.php och ring den överallt i dina mallfiler med get_site_data ()
funktion get_site_data () global $ wpdb; $ users = $ wpdb-> get_var ("VÄLJ COUNT (ID) FRÅN $ wpdb-> users"); $ posts = $ wpdb-> get_var ("VÄLJ COUNT (ID) FRÅN $ wpdb-> inlägg WHERE post_status = 'publicera'"); $ comments = $ wpdb-> get_var ("VÄLJ COUNT (comment_ID) FRÅN $ wpdb-> comments"); eko "'. $ användare. "medlemmar har gjort". $ kommentarer. "kommentarer i". $ inlägg. "inlägg
';Det här är bättre än att ringa några av de inbyggda WordPress-funktionerna eftersom det räknas alla inläggstyper och bara för närvarande publicerade inlägg.
9. Lägg till en JavaScript-fil korrekt
WordPress ger oss funktionen wp_enqueue_script så att vi kan lägga till skript på ett säkert sätt.
Säg att vi har ett skript dir under vår mall dir, och där har vi ett skript som heter do_stuff.js. Så vi har url_to_template_dir / scripts / do_stuff.js
Låt oss inkludera vårt manus på rätt sätt. Detta måste inkluderas före wp_head-samtalet i din headerfil:
$ script_url = get_template_directory_uri (). '/Scripts/do_stuff.js'; wp_enqueue_script ('do_stuff', $ script_url);Här sammanfogar vi vår skriptväg och namnet på utmatningen av WordPress get_template_directory_uri-funktionen. Vi skämtar sedan skriptet genom att tillhandahålla ett handtag (för eventuell senare referens) och webbadressen till vårt skript. WordPress kommer nu att inkludera vårt manus på varje sida.
Den verkliga fördelen för allt detta är att säg att vårt do_stuff-skript var ett jQuery-skript, då skulle vi också behöva ha jQuery laddad.
Nu ingår jQuery som standard i WordPress, och har förregistrerats med handtaget jquery. Så allt vi behöver gör är enqueue vår jQuery, och enqueue våra do_stuff.js, så här:
wp_enqueue_script ( 'jquery'); $ script_url = get_template_directory_uri (). '/Scripts/do_stuff.js'; wp_enqueue_script ('do_stuff', $ script_url, array ('jquery'));Notera den tredje parametern till wp_enqueue_script för do_stuff: det berättar WordPress att vårt do_stuff-skript är beroende av filen med handtaget jquery. Detta är viktigt eftersom det betyder att jquery kommer att laddas innan du gör det. Faktum är att du kan ha enqueue uttalanden i omvänd ordning och det spelar ingen roll eftersom det att definiera ett script beroenden tillåter WordPress att sätta skript i korrekt laddningsordning så att de alla arbetar lyckligt tillsammans.