Gör dina egna kortkoder och mer, med dessa 7 WordPress-hackor

Gör dina egna kortkoder och mer, med dessa 7 WordPress-hackor / Wordpress & Webbutveckling

Plugins stör mig - 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 hackar du lägger in där att gå vilse när du byter tema. Du måste kopiera de som du vill behålla 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 bryter och kan inte räkna ut varför. Om du gör ett misstag med att koda dessa kommer du att möta en tom sida (den ultimata guiden att hantera 500 serverfel och tomma sidor i WordPress Den ultimata guiden för att lösa 500 interna servernfel och tomma vita sidor i Wordpress Den ultimata guiden för att lösa 500 interna servernfel och tomma vita sidor i Wordpress Läs mer kommer att berätta några av de andra sätten att detta kan hända) - så var försiktig. Kunskap om PHP är också till hjälp (här är vår nybörjarguide till PHP).

Lägg till miniatyrer till administrationsområdet

Om du bara går runt för att lägga till miniatyrbilder i posten Den fullständiga guiden till utvalda miniatyrbilder och bildstorlekar i WordPress Den fullständiga guiden till utvalda miniatyrbilder och bildstorlekar i WordPress Read More, det kan vara oerhört användbart att se en överblick vilka inlägg har än att inkludera en miniatyrbild - det här koden lägger till en ny kolumn på din administratörsskärm när du tittar Alla inlägg. Du kan ändra storleken genom att justera variablerna i raden (100 200), som anger maximal bredd och höjd.

 add_filter ('manage_posts_columns', 'posts_columns', 5); add_action ('manage_posts_custom_column', 'posts_custom_columns', 5, 2); funktion posts_columns ($ default) $ standardvärden ['post_thumbs'] = __ ('Thumbs'); returnera $ standardvärden;  funktion posts_custom_columns ($ kolumnnamn, $ id) if ($ column_name === 'post_thumbs') echo the_post_thumbnail (array (100,200)); 

Du borde sluta med något så här:

Gör din egen kortnummer för JS Snippets

Inbäddning av JavaScript direkt i inlägget kan vara problematiskt (men det är möjligt, se TinyMCE-hacket senare i artikeln), särskilt när de här snippen är benägna att byta ofta - vilket gör att alla nuvarande inlägg brutits. Om JavaScript som du lägger in innehåller ett storleksattribut, kan du också få problem när temat ändras och det går plötsligt inget längre. Eller kanske blir du trött på att behöva bädda in samma sak om och om igen. Hur som helst kan en kortnummer hjälpa oerhört.

Det här är koden för en som jag gjorde för att lägga in det veckovisa chattrummet, vilket bygger på gratis tlk.io-tjänsten. Använda kortnumret chatt, och ges ett enda attribut av rum, den inbjuder till den relevanta koden som pekar på rätt chattrumsadress - eller i det här fallet standard till en generisk “technophilia” rum.

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

Döda en kortnummer

Om du inte längre vill använda en kort kod kan du hitta dem i facket. Den här enkla koden tar bort dem, en kort kod “rengöringsmedel” om du vill - även om den inte fungerar i databasen, bara på resultatet av inlägget.

 funktion shortcode_cleaner () remove_shortcode ('chat'); add_shortcode ("chat", "my_remove_shortcode");  add_action ('init', 'shortcode_cleaner'); funktion my_remove_shortcode () return ";

Extrahera en YouTube-video från en post

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

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

Du kanske också vill använda följande kod som filtrerar inlägg för att ta bort YouTube-webbadresser (eftersom du använder dem på annat håll).

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

Stoppa den visuella redigeraren Stripping HTML

WordPress visuell redigerare - TinyMCE - är utmärkt för de flesta användare och kan utökas för att göra ännu mer med TinyMCE Advanced-plugin Ta kontroll över WordPress Editor med TinyMCE Advanced Ta kontroll över WordPress Editor med TinyMCE Advanced Read More. För dem som vill ha lite mindre barnpassning av deras kod kommer den här lilla snippet att stoppa TinyMCE från att ta bort taggar genom att expandera 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 = 'före [id | namn | klass | stil | lang | flykt], iframe [align | longdesc | namn | bredd | höjd | frameborder | scrolling | marginheight | marginwidth | src]; om (isset ($ initArray ['extended_valid_elements'])) $ initArray ['extended_valid_elements']. = ','. $ Ext;  annars $ initArray ['extended_valid_elements'] = $ ext;  $ initArray ['verify_html'] = false; returnera $ initArray;  add_filter ('tiny_mce_before_init', 'fb_change_mce_options'); 

Slutligen stannar den här JavaScript för att bli avskuren, men tänk på att det öppnar ett stort säkerhetshål i flera författarmiljöer.

 funktion disable_kses_content () remove_filter ('content_save_pre', 'wp_filter_post_kses');  add_action ('init', 'disable_kses_content', 20); 

Free Website Thumbnailer

WordPress.com erbjuder en liten känd webbplatsminimeringstjänst - det vill säga det kan du säga till webbadressen till en webbsida, och den kommer att generera och tjäna en miniatyrbild av den webbplatsen. Lägg till följande kod för att skapa en “WebThumb” kort kod, och använd den genom att omsluta en URL som [WebThumb] // www.makeuseof.com [/ WebThumb]. Använd attribut för att åsidosätta bredd eller höjd och justera HTML-utgången som du behöver. Miniatyrer är cachade, men det kan ta ett tag att generera inledningsvis.

 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 ("webthumb", "websitethumbnails"); 

Lägg till utvalda miniatyrbilder till RSS-flöden

Följande kod kommer att justera både ett utdrag eller ett fullständigt RSS-flöde för att inkludera den miniatyr som visas. Du kan också se hur vi har lagt till en standardlänk i slutet av varje objekt, koppling tillbaka till hela inlägget. Du kan naturligtvis ändra detta till allt du vill ha, till exempel med vissa delknappar.

 funktion excerpt_thumbnail_feeds ($ content) global $ post; om (has_post_thumbnail ($ post-> ID)) $ content = '
'. get_the_post_thumbnail ($ post-> ID, 'featured'). '
'. rss_the_excerpt ($ post-> ID, 100); $ content. = "

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

", returnera $ content; add_filter (" the_excerpt_rss "," excerpt_thumbnail_feeds "); // visa miniatyrbilder i feedsfunktionen full_thumbnail_feeds ($ content) globalt $ post; if (has_post_thumbnail ($ post-> ID)) $ content = '
'. get_the_post_thumbnail ($ post-> ID, 'featured'). '
'. content $; $ content. = "

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

"; returnera $ content; add_filter (" the_content_rss "," full_thumbnail_feeds”);

Se - det finns en 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 över IFTTT-recept för WordPress 5 Fantastiska IFTTT-recept för WordPress-användare 5 Fantastiska IFTTT-recept för WordPress-användare IFTTT är vald användares automatiseringsverktyg. och WordPress är den ultimata bloggarens schweiziska armékniven. Tänk bara på den typ av världsdominering du kan uppnå genom att kombinera de två! Läs mer, eller besök WPSnipp - en webbplats med över 600 kategoriserade utdragshackar.

Utforska mer om: Wordpress.