Annons

Plugins stör mig - att se en lång lista över dem, var och en registrerar sina egna krokar och filter och... eugh. Ibland kan en enkel lösning hittas med bara några rader i din functions.php fil. Här är 10 av våra favoriter.

Anteckna det functions.php är en del av ditt tema, och som sådan kommer alla hack som du placerar där förloras när du ändrar tema. Du måste kopiera de du vill hålla över till det nya temat - det är inte svårt på något sätt, men något att tänka på om din webbplats plötsligt går sönder och inte kan förstå varför. Om du gör ett misstag med att koda dessa kommer du att möta en tom sida (den ultimata guiden för att hantera 500 serverfel och tomma sidor i WordPress Den ultimata guiden för att lösa 500 interna serverfel och tomma vita sidor i WordPressHar du problem med 500 interna serverfel och tomma sidor i WordPress? Så här fixar du dem direkt. Läs mer kommer att berätta för dig några av de andra sätten detta kan hända) - så var försiktig. Kunskap om PHP är också bra (här är vår

instagram viewer
nybörjarguide till PHP Lär dig att bygga med PHP: En kraschkursPHP är det språk som Facebook och Wikipedia använder för att betjäna miljarder förfrågningar dagligen; de-facto-språket som används för att lära människor webbprogrammering. Det är vackert enkelt, men briljant kraftfullt. Läs mer ).

Lägg till miniatyrer till administratörsområdet

Om du bara kommer att lägga till skicka miniatyrer Den kompletta guiden för visade miniatyrer och bildstorlekar i WordPressHär är allt du behöver veta om bildstorlekar i WordPress och hantera presenterade bilder. Läs mer , kan det vara oerhört bra att se med en överblick vilka inlägg som ännu inte har inkluderat en miniatyrbild - det här utdraget lägger till en ny kolumn på din admin-skärm när du tittar på Alla inlägg. Du kan ändra storleken genom att justera variablerna i array (100.200), som anger maximal bredd och höjd.

add_filter ('hantera_poster_kolumner', 'inlägg_kolumner', 5); add_action ('manage_posts_custom_column', 'posts_custom_columns', 5, 2); function posts_columns ($ default) {$ defaults ['post_thumbs'] = __ ('Thumbs'); returnera $ standardvärden; } funktion posts_custom_columns ($ column_name, $ id) {if ($ column_name 'post_thumbs') {echo the_post_emonynail (array (100.200)); } }

Du borde hamna med något liknande:

post-list-tummen

Gör din egen kortkod för JS-utdrag

Att bädda in JavaScript direkt i inlägget kan vara problematiskt (men är möjligt, se TinyMCE-hacket senare i artikeln), särskilt när dessa utdrag är benägna att ofta ändras - och därmed göra alla nuvarande inlägg bruten. Om JavaScript du inbäddar innehåller ett attribut för storlek kan du också ha problem när temat ändras och plötsligt ingenting passar längre. Eller kanske blir du bara trött på att behöva bädda in samma sak om och om igen. Hur som helst kan en kortkod hjälpa oerhört.

Här är utdraget för en som jag skapade för att bädda in det veckovisa chattrummet, som förlitar sig gratis tlk.io service. Använda kortkoden chatt, och ges ett enda attribut av rum, inbäddar den relevanta koden som pekar på rätt chattrumadress - eller i detta fall går det till ett generiskt "technophilia" -rum.


funktion chatroom ($ atts) {extrakt (shortcode_atts (array ('room' => 'technophilia'), $ atts)); lämna tillbaka ''; } add_shortcode ( 'chat', 'Chattrum');

Döda en kortkod

Om du inte längre vill använda en kort kod, kan du se att de är ströna i utgången. Denna enkla kod kommer att ta bort dem, en kort kod "renare" om du kommer - även om den inte fungerar i databasen, bara på utskriften från inläggets innehåll.

funktion shortcode_cleaner () {remove_shortcode ('chat'); add_shortcode ('chat', 'my_remove_shortcode'); } add_action ('init', 'shortcode_cleaner'); funktion min_remove_shortcode () {return ''; }

Extrahera en YouTube-video från ett inlägg

Utvalda bilder introducerades i version 2.9 för att ge varje inlägg en central representativ bild, men vad händer om ditt inlägg handlar mer om videon? Du kan ta en skärmdump och använda den som den visade bilden, eller så kan du extrahera videon och bädda in den istället för en bild. Ring den här funktionen från loopen för att få en YouTube-URL tillbaka som du vill.


function video_from_post () {global $ post; $ return = array (); preg_match ( '| http://www.youtube.com/watch\?v=([a-zA-Z0-9_\-]+)|', $ post-> post_content, $ matches); $ v = $ matchningar [1]; $ return [0] = $ post; $ return [1] = $ v; returnera $ return; } 

Du kanske också vill använda följande utdrag som filtrerar inlägg för att ta bort YouTube-webbadresser (eftersom du använder dem någon annanstans).

funktion remove_youtube ($ content) {$ search = '/http:\/\/www\.youtube\.com\/watch\?(.*?)v=(??a-zA-Z0-9_\-??+ )(\Si'; $ content = preg_replace ($ search, "", $ content, 1); returnera $ innehåll; } add_filter ('the_content', 'remove_youtube');

Stoppa Visual Editor Stripping HTML

Den visuella redaktören för WordPress - TinyMCE - är utmärkt för de flesta användare och kan utvidgas till att göra ännu mer med TinyMCE Advanced plugin Ta kontroll över WordPress Editor med TinyMCE Advanced Läs mer . Men för de som vill ha lite mindre barnpassning av sin kod kommer detta lilla utdrag att hindra TinyMCE från att strippa ut taggar genom att utöka listan med giltiga element, så att du kan bädda in saker som iFrames eller ange klasser på element.

funktion fb_change_mce_options ($ initArray) {// Kommaseparerad sträng av utökade taggar $ ext = 'Pre [id | namn | klass | stil | lang | rymt], iframe [align | longdesc | namn | bredd | höjd | frameborder | rullning | marginheight | marginwidth | src]'; if (isset ($ initArray ['Extended_valid_elements'])) {$ initArray ['Extended_valid_elements']. = ','. $ Ext; } else {$ initArray ['Extended_valid_elements'] = $ ext; } $ initArray ['verifiera_html'] = falsk; returnera $ initArray; } add_filter ('liten_mce_before_init', 'fb_change_mce_options');

Slutligen hindrar den här JavaScript från att bli avskalad, men kom ihåg att detta öppnar upp ett stort säkerhetshål i miljöer med flera författare.

function disable_kses_content () {remove_filter ('content_save_pre', 'wp_filter_post_kses'); } add_action ( 'init', 'disable_kses_content', 20);

Gratis webbplats-miniatyrbild

WordPress.com erbjuder en lite känd webbplats för miniatyrbild - det vill säga att du kan berätta den webbadressen till en webbsida, och den kommer att generera och tjäna en miniatyrbild av den webbplatsen. Lägg till följande kodavsnitt för att skapa en kortkod för "webbnamn" och använd den genom att omge en URL som [WebThumb] // www.makeuseof.com [/ WebThumb]. Använd attribut för att åsidosätta bredd eller höjd och justera HTML-utdata efter behov. Miniatyrer är cachelagrade, men det kan ta lite tid att generera initialt.


funktion websitethumbnails ($ atts, $ content = null) {extrakt (shortcode_atts (array ("snap" => ' http://s.wordpress.com/mshots/v1/', "alt" => 'Min bild', 'w' => '600', // bredd "h" => '350' // höjd, $ atts)); $ img = ''. $ Alt. ''; returnera $ img; } add_shortcode ("webumn", "websitethumbnails");

Lägg till visade miniatyrer till RSS-flöden

Följande kod kommer att justera både ett utdrag eller full RSS-flöde för att inkludera den visade miniatyren. Du kan också se hur vi har lagt till en standardlänk i slutet av varje objekt som länkar tillbaka till hela inlägget. Du kan naturligtvis ändra detta till vad du vill, som att inkludera några delningsknappar.


funktion excerpt_tattnail_feeds ($ innehåll) {global $ post; if (has_post_tattnail ($ post-> ID)) {$ content = '
'. get_the_post_thumbnail ($ post-> ID, "presenterade). '
'. rss_the_excerpt ($ post-> ID, 100); } $ innehåll. = "

Läs hela artikeln: ".Get_the_title ($ post-> ID)."

"; returnera $ innehåll; } add_filter ("the_excerpt_rss", "excerpt_tattnail_feeds"); // visa miniatyrer för inlägg i flöden. funktion full_tattnail_feeds ($ innehåll) {global $ post; if (has_post_tattnail ($ post-> ID)) {$ content = '
'. get_the_post_thumbnail ($ post-> ID, "presenterade). '
'. $ Innehåll; } $ innehåll. = "

Läs hela artikeln: ".Get_the_title ($ post-> ID)."

"; returnera $ innehåll; } add_filter ("the_content_rss", "full_tattnail_feeds");

Se - det finns väldigt mycket du kan göra utan plugins, och det är bara att skrapa ytan. Om du vill ha mer, kolla in min lista med IFTTT-recept för WordPress 5 fantastiska IFTTT-recept för WordPress-användareIFTTT är kraftanvändarens automatiska verktyg; och WordPress är den ultimata bloggarens schweiziska armékniv. Föreställ dig vilken typ av världsbehörighet du kan uppnå genom att kombinera de två! Läs mer , eller besök WPSnipp - en webbplats med över 600 kategoriserade kodavsnitt.

James har en kandidatexamen i artificiell intelligens och är CompTIA A + och Network + certifierad. Han är ledande utvecklare av MakeUseOf och tillbringar sin fritid med att spela VR-paintball och brädspel. Han har byggt datorer sedan han var liten.