Lag dine egne kortkoder og mer, med disse 7 WordPress-hackene

Lag dine egne kortkoder og mer, med disse 7 WordPress-hackene / Wordpress og webutvikling

Plugins plager meg - ser en lang liste over dem, hver registrerer sine egne kroker og filtre og ... eugh. Noen ganger kan en enkel løsning bli funnet med bare noen få linjer i din functions.php fil. Her er 10 av våre favoritter.

Noter det functions.php er en del av ditt tema, og som sådan vil hack som du plasserer i det gå tapt når du bytter tema. Du må kopiere dem du vil beholde til det nye temaet - det er ikke vanskelig på noen måte, men noe å huske på hvis nettstedet ditt plutselig går i stykker og ikke kan finne ut hvorfor. Hvis du gjør en feil ved koding av disse, blir du møtt med en tom side (den ultimate veiledningen til å håndtere 500 serverfeil og tomme sider i WordPress Den ultimate veiledningen for å løse 500 interne serverfeil og tomme hvite sider i Wordpress Den ultimate veiledningen for å løse 500 interne serverfeil og tomme hvite sider i Wordpress Les mer vil fortelle deg noen av de andre måtene dette kan skje) - så vær forsiktig. Kunnskap om PHP er også nyttig (her er vår nybegynnerguide til PHP).

Legg til miniatyrer til administrasjonsområdet

Hvis du bare kommer deg rundt for å legge til miniatyrbilder i miniatyrbildet Den komplette håndboken til utvalgte miniatyrbilder og bildestørrelser i WordPress Den komplette håndboken til utvalgte miniatyrbilder og bildestørrelser i WordPress Read More, kan det være utrolig nyttig å se på et øyeblikk hvilke innlegg som har ennå for å inkludere et miniatyrbilde - denne koden vil legge til en ny kolonne på adminskjermbildet når du ser på det Alle innlegg. Du kan endre størrelsen ved å justere variablene i rekkefølge (100.200), som angir maksimal bredde og høyde.

 add_filter ('manage_posts_columns', 'posts_columns', 5); add_action ('manage_posts_custom_column', 'posts_custom_columns', 5, 2); funksjon posts_columns ($ standard) $ defaults ['post_thumbs'] = __ ('Thumbs'); returnere $ standardinnstillinger;  funksjon posts_custom_columns ($ column_name, $ id) if ($ column_name === 'post_thumbs') echo the_post_thumbnail (array (100,200)); 

Du bør ende opp med noe slikt:

Lag din egen kortkode for JS-utdrag

Embedding JavaScript direkte inn i innleggsinnhold kan være problematisk (men det er mulig, se TinyMCE hack senere i artikkelen), spesielt når de utklippene er tilbøyelige til å endres ofte, og dermed gjengis alle gjeldende innlegg. Hvis JavaScript du legger inn, inneholder et størrelsesattributt, kan du også få problemer når temaet endres, og plutselig passer ingenting lenger. Eller kanskje du bare blir lei av å måtte legge inn det samme igjen og igjen. Uansett kan en kortnummer hjelpe uhyre.

Her er koden for en jeg laget for å legge inn det ukentlige chatroomet, som er avhengig av gratis tlk.io-tjenesten. Bruk kortnummeret chatte, og gitt et enkelt attributt av rom, Den innebærer at den aktuelle koden peker på riktig chatroom-adresse - eller i dette tilfellet som standard til en generisk “technophilia” rom.

 funksjon chatroom ($ atts) ekstrakt (shortcode_atts (array ('room' => 'technophilia'), $ atts)); komme tilbake '
'; add_shortcode ("chat", "chatroom");

Drep en kortkode

Hvis du ikke lenger vil bruke en kort kode, kan det hende du finner dem strøket i utgangen. Denne enkle koden vil fjerne dem, en kort kode “renere” hvis du vil - selv om den ikke virker på databasen, bare på utgangen av innleggets innhold.

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

Trekk ut en YouTube-video fra et innlegg

Utvalgte bilder ble introdusert i versjon 2.9 for å gi hvert innlegg ett sentralt representativt bilde, men hva om innlegget ditt handler om videoen? Du kan ta en skjermopptak og bruke det som det kjente bildet, eller du kan trekke ut videoen og legge den inn i stedet for et kjennetegnet bilde i stedet. Ring denne funksjonen fra løkken for å få en YouTube-nettadresse som returneres å gjøre med som du ønsker.

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

Du vil kanskje også bruke følgende utdrag som filtrerer innlegg for å fjerne YouTube-nettadresser (siden du bruker dem andre steder).

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

Stopp Den visuelle editoren Stripping HTML

WordPress visuell editor - TinyMCE - er flott for de fleste brukere, og kan utvides til å gjøre enda mer med TinyMCE Advanced plugin Ta kontroll over WordPress Editor med TinyMCE Advanced Ta kontroll over WordPress Editor med TinyMCE Advanced Read More. For de som vil ha litt mindre barnevakt på koden deres, stopper denne lille kuttingen TinyMCE fra å fjerne striper ved å utvide listen med gyldige elementer, slik at du kan legge inn ting som iFrames eller angi klasser på elementer.

 funksjon fb_change_mce_options ($ initArray) // Kommaseparert streng med utvidede tagger $ ext = 'pre [id | navn | klasse | stil | lang | rømt], iframe [align | longdesc | navn | bredde | høyde | frameborder | scrolling | marginheight | marginwidth | src] '; hvis (isset ($ initArray ['extended_valid_elements']))) $ initArray ['extended_valid_elements']. = ','. $ Ext;  ellers $ initArray ['extended_valid_elements'] = $ ext;  $ initArray ['verify_html'] = false; returner $ initArray;  add_filter ('tiny_mce_before_init', 'fb_change_mce_options'); 

Til slutt stopper denne JavaScript for å bli fjernet, men husk at dette åpner et stort sikkerhetshull i flere forfattermiljøer.

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

Free Website Thumbnailer

WordPress.com tilbyr en liten kjent nettside miniatyring tjeneste - det vil si, du kan fortelle det nettadressen til en nettside, og den vil generere og vise et miniatyrbilde av den nettsiden. Legg til følgende utdrag for å opprette en “WebThumb” kort kode, og bruk den ved å omgjøre en nettadresse som [WebThumb] // www.makeuseof.com [/ WebThumb]. Bruk attributter for å overstyre bredde eller høyde, og juster HTML-utdataene etter behov. Miniatyrbilder er cached, men det kan ta litt tid å generere først.

 funksjon websitethumbnails ($ atts, $ content = null) extract (shortcode_atts (array ("snap" => 'http://s.wordpress.com/mshots/v1/', "alt" => 'Mitt bilde' "w" => '600', / / ​​bredde "h" => '350' / høyde), $ s)); $ img = ''. $ alt. ''; returner $ img;  add_shortcode ("webthumb", "websitenhumbnails"); 

Legg til Utvalgte Miniatyrbilder til RSS-feeder

Følgende kode vil justere både et utdrag eller full RSS-feed for å inkludere den omtalte miniatyrbilden. Du kan også se hvordan vi har lagt til en standardkobling på slutten av hvert element, og kobler tilbake til hele innlegget. Du kan selvfølgelig endre dette til alt du vil, for eksempel å inkludere noen deleknapper.

 fungere utdrag_tumbnail_feeds ($ content) global $ post; hvis (has_post_thumbnail ($ post-> ID)) $ content = '
'. get_the_post_thumbnail ($ post-> ID, 'featured'). '
'. rss_the_excerpt ($ post-> ID, 100); $ content. = "

Les hele artikkelen: ID). ""> "Get_the_title ($ post-> ID)."

"; return $ content; add_filter (" the_excerpt_rss ";" excerpt_thumbnail_feeds "); // Vis innlegg miniatyrbilder i feedsfunksjon full_thumbnail_feeds ($ content) global $ post; = '
'. get_the_post_thumbnail ($ post-> ID, 'featured'). '
'. $ Innhold; $ content. = "

Les hele artikkelen: ID). ""> "Get_the_title ($ post-> ID)."

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

Se - det er forferdelig mye du kan gjøre uten plugins, og dette er bare å skrape overflaten. Hvis du vil ha mer, sjekk ut listen over IFTTT-oppskrifter for WordPress 5 Amazing IFTTT Oppskrifter for WordPress-brukere 5 Fantastiske IFTTT-oppskrifter for WordPress-brukere IFTTT er valgbrukerens automatiseringsverktøy, og WordPress er den ultimate bloggerens sveitsiske hærkniv. Tenk deg hva slags dominans du kunne oppnå ved å kombinere de to! Les mer, eller besøk WPSnipp - et nettsted med over 600 kategoriserte utdragsspor.

Utforsk mer om: Wordpress.