29 WordPress Tweaks for å forbedre innlegg og sider
Vi elsker WordPress - men ikke alle av oss er klare til å bosette seg med alle standardinnstillingene og viser - spesielt hvordan innlegg vises. Som vi lærte det unike, spiller ingen rolle for et nettsteds merkevarebygging, noe som gir de besøkende et flott inntrykk, gjennom bloggenes og utviklerne har de i løpet av disse årene forsøkt å finjustere postdisplayet, for å gjøre det så unikt som mulig.
I dag skal vi fokusere på de smarte tweaksene du kan utføre for å forbedre WordPress-postvisningen. Enten du er ute etter å endre visningsvisningen for å forbedre brukeropplevelsen eller øke inntektene eller sidevisninger, er det sjansene for at det er en måte å gjøre det uten plugin, og de fleste av utdragene som er oppført her, er enkle å implementere, i de fleste tid du bare må kopiere og lime inn den angitte koden.
Håper du vil finne disse tweaksene nyttige for prosjektene dine, nyt tilpassing!
Frontend
1. Endre utdragslengden
Flikken nedenfor vil endre utdragslengden, som du bare kan legge til følgende linjer med kode i din functions.php fil, med verdien 75 som utdragslengden.
add_filter ('utdrag_lengde', 'my_excerpt_length'); funksjon my_excerpt_length ($ len) return 75;
[Kilde: Danny van Kooten]
2. Twitter stil “tid siden” datoer
De fleste vet ikke at WordPress har en innebygd funksjon for å vise datoen ved hjelp av “Tid siden” format, og utsnittet nedenfor kan limes til hvor som helst i sløyfen for å vise datoen med formatet.
Lagt ut[Kilde: PHP Snippets]
3. Vis innlegg miniatyrbilde i RSS-feed
Introdusert i WordPress 2.9, the
the_post_thumbnail ()
funksjonen er veldig nyttig å legge til og vise en miniatyrbilde knyttet til et innlegg. Den dårlige nyheten er at det ikke er noen innebygd metode for å vise miniatyrbildet i RSS-feed. Funksjonen nedenfor vil løse dette problemet. Bare lim det inn i din functions.php filen, lagre den, og miniatyrbildet for innlegg vises automatisk i RSS-feedet ditt.// Vis innlegg miniatyrer i feeds funksjon diw_post_thumbnail_feeds ($ content) global $ post; hvis (has_post_thumbnail ($ post-> ID)) $ content = ''. get_the_post_thumbnail ($ post-> ID). ''. $ Innhold; returner $ content; add_filter ('the_excerpt_rss', 'diw_post_thumbnail_feeds'); add_filter ('the_content_feed', 'diw_post_thumbnail_feeds');[Kilde: Graving inn i WordPress]
4. Begrens søket til kun å legge inn titler
Du kan legge til denne koden i functions.php fil av dine WordPress-temaer for å begrense søket til å bare legge inn titler.
funksjon __search_by_title_only ($ søk, & $ wp_query) hvis (tomt ($ søk)) returnere $ søk; // hoppe behandling - ingen søkeord i spørringen $ q = & $ wp_query-> query_vars; // wp-includes / query.php line 2128 (versjon 3.1) $ n =! tomt ($ q ['eksakt'])? ": '%'; $ searchand ="; foreach ((array) $ q ['search_terms'] som $ term) $ term = esc_sql (like_escape ($ term)); $ search. = "$ searchand ($ wpdb-> posts.post_title LIKE '$ n $ term $ n')"; $ searchand = 'AND'; $ term = esc_sql (like_escape ($ q ['s'])); hvis (tom ($ q ['setning']) && count ($ q ['search_terms'])> 1 && $ q ['search_terms'] [0]! = $ q ['s']) $ søk. = "ELLER ($ wpdb-> posts.post_title LIKE '$ n $ term $ n')"; hvis (! tomt ($ søk)) $ search = "OG ($ search)"; hvis (! er_user_logged_in ()) $ search. = "OG ($ wpdb-> posts.post_password =") "; returner $ search; add_filter ('posts_search', '__search_by_title_only', 10, 2);[Kilde: WpSnipp]
5. Vis et stigende nummer på hvert innlegg
Med tweaket nedenfor kan du vise et økende nummer på hvert innlegg, og implementere det er ganske enkelt. Først lim inn følgende funksjon i din functions.php fil:
funksjon updateNumbers () global $ wpdb; $ querystr = "VELG $ wpdb-> innlegg. * FRA $ wpdb-> innlegg hvor $ wpdb-> posts.post_status = 'publiser' og $ wpdb-> posts.post_type = 'post'"; $ pageposts = $ wpdb-> get_results ($ querystr, OBJECT); $ teller = 0; hvis ($ sideposter): foreach ($ sideposter som $ post): setup_postdata ($ post); $ teller ++; add_post_meta ($ post-> ID, 'incr_number', $ teller, sant); update_post_meta ($ post-> ID, 'incr_number', $ teller); endforeach; slutt om; add_action ('publish_post', 'updateNumbers'); add_action ('deleted_post', 'updateNumbers'); add_action ('edit_post', 'updateNumbers');Når du er ferdig, kan du vise postnummeret med følgende kode. Legg merke til at den må brukes i løkken.
ID, 'incr_number', true); ?>[Kilde: Alchymyth, via WpRecipes]
6. Ekskluder innlegg fra WordPress Feed
Vil du ekskludere bestemte innlegg fra din feed? Her er tweak for deg. Vær oppmerksom på at du bare skal filtrere hvor du vil filtrere; i vårt eksempel er det i vår feed
$ Wp_query-> is_feed
. Hvis du ikke gjorde det på den måten, ville filteret også løpe i bakenden, og disse innleggene vil ikke bli vist på postoversikten.Funksjonen har to parametere. Du gir den første parameteren
$ der
en utvidelse av SQL-strengen, som vil ta seg av filtreringen basert på ID. Deretter, innenfor parentesene må du sette inn Innstillinger for innleggene, som du liker å filtrere.funksjon fb_post_exclude ($ where, $ wp_query = NULL) global $ wpdb; hvis (! $ wp_query) global $ wp_query; hvis ($ wp_query-> is_feed) // ekskluder post med ID 40 og 9 $ hvor. = "OG $ wpdb-> innlegg.ID IKKE IN (40, 9)"; returnere $ where; add_filter ('posts_where', 'fb_post_exclude', 1, 2);[Kilde: WP Engineer]
7. Omdirigere til innlegg når søket returnerer enkeltresultat
Sett denne biten i functions.php fil av WordPress-temaet ditt for å omdirigere søket ditt til innlegget automatisk når WordPress bare returnerer et enkelt søkeresultat.
add_action ('template_redirect', 'single_result'); funksjon single_result () if (is_search ()) global $ wp_query; hvis ($ wp_query-> post_count == 1) wp_redirect (get_permalink ($ wp_query-> innlegg ['0'] -> ID));[Kilde: WpSnipp]
8. Lag automatisk metabeskrivelse fra the_content
Legge til denne koden i functions.php filen av WordPress-temaet ditt vil automatisk lage en metabeskrivelse fra ditt WordPress-innlegg, stripe ut alle kortkoder og koder. Sørg også for at du har den i header.php av WordPress-temaet ditt eller denne koden vil ikke fungere.
funksjon create_meta_desc () global $ post; hvis (! er_single ()) return; $ meta = strip_tags ($ post-> post_content); $ meta = strip_shortcodes ($ post-> post_content); $ meta = str_replace (array ("\ n", "\ r", "\ t"), ", $ meta); $ meta = substr ($ meta, 0, 125)"; add_action ('wp_head', 'create_meta_desc');[Kilde: WpSnipp]
9. Bytt ut ord automatisk med tilknyttede lenker
For å erstatte ord med tilknyttede lenker automatisk, lim inn koden nedenfor i din functions.php fil. Husk å skrive inn dine ord / linker som vist i eksempelkoden nedenfor.
funksjon erstatte_text_wps ($ tekst) $ replace = array (// 'WORD TO REPLACE' => 'BYTE WORD WITH THIS' avhandling '=>'avhandling',' studiopress '=>'Studio'); $ text = str_replace (array_keys ($ erstatte), $ erstatte, $ tekst); returnere $ text; add_filter ('the_content', 'replace_text_wps'); add_filter ('the_excerpt', 'replace_text_wps');[Kilde: catswhoblog.com]
10. Legg til “Les mer” permalink til slutten av utdraget
Legge til denne koden nedenfor i functions.php filen av WordPress-temaet vil legge til en “Les mer” permalink på slutten av
the_excerpt
, ganske mye som hvainnholdet
gjør.funksjon excerpt_readmore ($ mer) return '... '. 'Les mer'. ''; add_filter ('excerpt_more', 'excerpt_readmore');[Kilde: WpSnipp]
11. Vis relaterte innlegg uten et plugin
Ved å installere koden nedenfor vil du få WordPress-siden til å vise relaterte innlegg basert på nåværende postetikett (e). Du må plassere den inni single.php, eller bare hvor som helst du vil vise relaterte innlegg.
ID); hvis ($ tags) $ tag_ids = array (); foreach ($ tags som $ individual_tag) $ tag_ids [] = $ individual_tag-> term_id; $ args = array ('tag__in' => $ tag_ids, 'post__not_in' => array ($ post-> ID), 'showposts' => 5, // Antall relaterte innlegg som vil bli vist. 'caller_get_posts' => 1 ); $ my_query = nytt wp_query ($ args); hvis ($ my_query-> have_posts ()) echo 'Relaterte innlegg
- '; mens ($ my_query-> have_posts ()) $ my_query-> the_post (); ?>
- '; ?>
[Kilde: Bin-Co]
12. Lag dine egne populære innlegg i sidefeltet
Det er veldig enkelt å sette opp en sidebar-widget for å vise populære innlegg. Bare kopier og lim inn koden nedenfor i din sidebar.php fil. Hvis du må endre antall innlegg som vises, kan du endre 5 på slutten av linje 3 til et hvilket som helst nummer du foretrekker.
Populære innlegg
- get_results ("SELECT comment_count, ID, post_title FROM $ wpdb-> innlegg ORDER BY comment_count DESC LIMIT 0, 5"); foreach ($ resultat som $ post) setup_postdata ($ post); $ postid = $ post-> ID; $ title = $ post-> post_title; $ commentcount = $ post-> comment_count; hvis ($ commentcount! = 0) ?>
[Kilde: Pro Blog Design]
13. Angi utløpsdato Dato / klokkeslett
Nedenfor finner du en nyttig kode som du kan legge inn i WordPress Themes for å aktivere muligheten til å opprette postutløp basert på dato og klokkeslett. Rediger temaet ditt og erstatt din nåværende WordPress-loop med denne "hacked" -sløyfen:
$ utløpsdato = get_post_custom_values ('utløp'); hvis (is_array ($ utløptid)) $ expirestring = implode ($ utløpstid); $ secondsbetween = strtotime ($ expirestring) -time (); hvis ($ sekunder mellom> 0) // For eksempel ... the_title (); the_excerpt (); engang; slutt om; ?>
Hvis du vil opprette et innlegg med dato / klokkeslett, kan du bare opprette et egendefinert felt. Gi utløp som nøkkel og dato / klokkeslett (format: mm / dd / yyyy 00:00:00) som en verdi. Innlegget vil ikke dukke opp etter det aktuelle tidsstempelet.
[Kilde: WpRecipes]
14. Liste fremtidige innlegg
WordPress tillater oppføring av fremtidige innlegg, og for å oppnå denne funksjonen, lim inn koden til hvor du vil at du skal vise fremtidige innlegg:
Fremtidige hendelser
Ingen fremtidige hendelser planlagt.
[Kilde: WpRecipes]
15. Vis kun AdSense for søkemotorer besøkende
Det er mulig å vise AdSense til de besøkende fra søkemotorer, og her er koden for å oppnå det. Bare lim inn koden under temaets functions.php fil.
funksjon scratch99_fromasearchengine () $ ref = $ _SERVER ['HTTP_REFERER']; $ SE = array ('/ search?', 'Images.google.', 'Web.info.com', 'søk', 'del.icio.us/search', 'soso.com', '/ søk / ',' .yahoo. '); foreach ($ SE som $ kilde) hvis (strpos ($ ref, $ source)! == false) return true; returner falsk;
$ SE
array er der du spesifiserer søkemotorene. Du kan legge til ny søkemotor ved å legge til nytt element i oppsettet, og lim deretter inn følgende kode hvor som helst i malen der du vil at AdSense-annonsene skal vises, og det er gjort! Annonsene vil bare bli vist for besøkende fra søkemotorer.
hvis (function_exists ('scratch99_fromasearchengine')) if (scratch99_fromasearchengine ()) INSERT DIN KODE HER
[Kilde: Scratch99, via WpRecipes]
Baksiden
1. Tillat flere HTML-koder i redigeringsprogrammet
Som standard tillater ikke WordPress-editor HTML-koder som ikke er kompatible med XHTML 1.0-standarden. Koden nedenfor vil imidlertid tvinge redaktøren til å godta flere koder. Du kan lime det inn i temaet ditt functions.php fil, lagre det, og funksjonen er god å gå.
funksjon fb_change_mce_options ($ initArray) // Kommaseparert streng od extends tags // Kommando separert streng av utvidede elementer $ ext = 'pre [id | navn | klasse | stil], iframe [align | longdesc | navn | bredde | høyde | frameborder | rulle | marginheight | marginwidth | src] '; hvis (isset ($ initArray ['extended_valid_elements']))) $ initArray ['extended_valid_elements']. = ','. $ Ext; ellers $ initArray ['extended_valid_elements'] = $ ext; // kan være; sett liten parametre verify_html // $ initArray ['verify_html'] = false; returner $ initArray; add_filter ('tiny_mce_before_init', 'fb_change_mce_options');
[Kilde: WP Engineer]
2. Angi standard editor
Utdrag nedenfor endrer standardredigering i WordPress admin. Du kan gå med Visual Editor, eller du kan velge HTML Editor, bare legg til en av dem i functions.php fil.
# Dette setter HTML-editoren som standard add_filter ('wp_default_editor', create_function ("," return "html ";"));
[Kilde: WP-Snippets]
3. Sett forskjellige rediger stilark for forskjellige posttyper
Med følgende kode limt inn i din functions.php fil, kan du sette opp forskjellige editor stilark for forskjellige posttyper. Du må tilpasse det, avhengig av posttypene dine, og husk å endre stilark navn også.
fungere my_editor_style () global $ current_screen; bytt ($ current_screen-> post_type) case 'post': add_editor_style ('editor-style-post.css'); gå i stykker; case 'side': add_editor_style ('editor-style-page.css'); gå i stykker; case 'portefølje': add_editor_style ('editor-style-portfolio.css'); gå i stykker; add_action ('admin_head', 'my_editor_style');
[Kilde: WPStorm]
4. tillat opplasting av flere filtyper
Av visse grunner vil WordPress Uploader ikke la deg laste opp bestemte filtyper, for eksempel Textmate .tmCommand. Hvis du trenger å laste opp disse typer filer til ditt WordPress-område, kommer en funksjonell utdrag som lar deg gjøre det, og du trenger bare å lime det inn i din functions.php fil. Du kan også legge til flere filtyper ved å legge dem på linje 4, adskilt av et rør (|).
'søknad / oktet-strøm')); returner $ mimes; ?> add_filter ('upload_mimes', 'addUploadMimes');
[Kilde: pioupioum.fr, via WpRecipes]
5. Aktiver TinyMCE editor for post the_excerpt
Setter følgende utdrag inn i functions.php filen av WordPress-temaet ditt vil legge til TinyMCE-editoren til tekstutsnittet for utdragets utdrag.
funksjon tinymce_excerpt_js () ?>[Kilde: WpSnipp]
6. Postformater - Mer kreative måter for et tema
Syntaxen nedenfor gir noen av de mulige innleggformatene som deretter kan velges og brukes direkte i artikkelen, og hva du trenger å gjøre er å sette koden inn i din functions.php fil av temaet ditt.
add_theme_support ('postformater', array ('til side', 'lyd', 'bilde', 'video'));[Kilde: WP Engineer]
7. Vis innleggs miniatyrbilde også i Rediger innlegg og sideoversikt
WordPress versjon 2.9 introduserte funksjonen til Post Thumbnail. Det er ganske kjempebra, og du kan også vise miniatyrbilde i Rediger innlegg og sideoversikt. Du kan sette følgende kode i et plugin eller kopiere dem til functions.php fil av temaet.
hvis (! function_exists ('fb_AddThumbColumn') && function_exists ('add_theme_support')) // for post og side add_theme_support ('post-miniatyrer', array ('post', 'side')); funksjon fb_AddThumbColumn ($ cols) $ cols ['thumbnail'] = __ ('Thumbnail'); returnere $ cols; funksjon fb_AddThumbValue ($ column_name, $ post_id) $ width = (int) 35; $ høyde = (int) 35; hvis ('thumbnail' == $ kolonneavn) // thumbnail of WP 2.9 $ thumbnail_id = get_post_meta ($ post_id, '_thumbnail_id', true); // bilde fra galleri $ vedlegg = get_children (array ('post_parent' => $ post_id, 'post_type' => 'vedlegg', 'post_mime_type' => 'bilde')); hvis ($ thumbnail_id) $ thumb = wp_get_attachment_image ($ thumbnail_id, array ($ bredde, $ høyde), true); elseif ($ vedlegg) foreach ($ vedlegg som $ attachment_id => $ vedlegg) $ thumb = wp_get_attachment_image ($ attachment_id, array ($ bredde, $ høyde), true); hvis (isset ($ thumb) && $ thumb) echo $ thumb; ellers echo __ ('None'); // for innlegg add_filter ('manage_posts_columns', 'fb_AddThumbColumn'); add_action ('manage_posts_custom_column', 'fb_AddThumbValue', 10, 2); // for sider add_filter ('manage_pages_columns', 'fb_AddThumbColumn'); add_action ('manage_pages_custom_column', 'fb_AddThumbValue', 10, 2);[Kilde: WP Engineer]
8. Opprett tilpassede innlegg status meldinger i admin
Denne tweaken ble opprinnelig skrevet av utvikleren som en måte for en klient å vise egendefinerte meldinger for hvert innlegg som en forfatter oppretter. I dette tilfellet kan et innlegg ha en melding som avvist, feil, kilde, endelig, etc. Du kan endre meldingene like under kodenes kommentar, Array av egendefinerte statusmeldinger, bare for å sikre at du endret klassenavn også, som du kan endre dem etter kommentaren, endre farge på meldinger nedenfor.
add_filter ('display_post_states', 'custom_post_state'); funksjon custom_post_state ($ states) global $ post; $ show_custom_state = get_post_meta ($ post-> ID, '_status'); hvis ($ show_custom_state) $ states [] = __ (''. $ show_custom_state [0]. ''); returner $ stater; add_action ('post_submitbox_misc_actions', 'custom_status_metabox'); fungere custom_status_metabox () global $ post; $ custom = get_post_custom ($ post-> ID); $ status = $ tilpasset ["_ status"] [0]; $ i = 0; / * ----------------------------------- * / / * Array av egendefinerte statusmeldinger * / / * ----------------------------------- * / $ custom_status = array ('Staving', 'Review', 'Feil', 'Kilde', 'Avvist', 'Endelig',); ekko ''; ekko ''; ekko ''; add_action ('save_post', 'save_status'); funksjon save_status () global $ post; hvis (definert ('DOING_AUTOSAVE') && DOING_AUTOSAVE) return $ post-> ID; update_post_meta ($ post-> ID, "_status", $ _POST ["status"]); add_action ('admin_head', 'status_css'); funksjon status_css () echo '';[Kilde: WpSnipp]
9. Angi maksimal posttittellengde
Legge til denne PHP-koden i functions.php filen av WordPress-temaet ditt vil angi maksimalt antall ord som kan vises i din posttittel, ganske hendige tweaks!
funksjon maxWord ($ title) global $ post; $ title = $ post-> post_title; hvis (str_word_count ($ title)> = 10) // sett dette til maksimum antall ord wp_die (__ ('Feil: din posttittel er over det maksimale ordtallet.')); add_action ('publish_post', 'maxword');[Kilde: WpSnipp]
10. Hvordan endre WordPress editor font
Hater gjeldende skrifttype som brukes i WordPress editor? Det er mulig å bli endret til moderne skrift som Monaco eller Consolas, bare lim inn koden i WordPress-temaet functions.php fil.
funksjon change_editor_font () echo ""; add_action (" admin_print_styles "," change_editor_font ");[Kilde: shailan.com, via WpRecipes]
11. Legge til et tilpasset felt automatisk på post / side publisering
En kodebit for å installere et tilpasset felt automatisk til en side eller post når de publiseres. Du kan bare legge til koden nedenfor i din functions.php fil, plassert i temaets mappe. Selvfølgelig, ikke glem å endre egendefinert feltnavn.
add_action ('publish_page', 'add_custom_field_automatically'); add_action ('publish_post', 'add_custom_field_automatically'); funksjon add_custom_field_automatically ($ post_ID) global $ wpdb; hvis (! wp_is_post_revision ($ post_ID)) add_post_meta ($ post_ID, 'field-name', 'tilpasset verdi', true);[Kilde: wpCanyon]
12. Slett av ubrukte innleggsrevisjoner
Her kommer en veldig nyttig SQL-spørring som vil slette alle innleggsendringer umiddelbart, samt meta knyttet til det. Du må kjøre følgende spørring på WordPress-databasen, og alle revisjoner (samt meta tilknyttet det) blir slettet fra databasen. Et viktig notat her, sørg for å sikkerhetskopiere databasen før du kjører koden.
DELETE a, b, c FRA wp_posts a WHERE a.post_type = 'revisjon' VENSTRE BLI MED WP_term_relationships b PÅ (a.ID = b.object_id) VENSTRE MINE wp_postmeta c ON (a.ID = c.post_id);[Kilde: Lesterchan.net]
13. Endre utdragslengde avhengig av kategori
Har du noen gang ønsket å endre utdragslengden basert på hvilken kategori du er på? Her kommer koden som gir ditt ønske. Bare lim inn koden i din functions.php fil, og ikke glem å endre kategori ID på linje 3!
add_filter ('utdrag_lengde', 'my_excerpt_length'); funksjon my_excerpt_length ($ lengde) if (in_category (14)) return 13; ellers return 60;[Kilde: WpRecipes]
14. Deaktiver innleggene automatisk lagring
Hvis du av en eller annen kritisk grunn vil at du vil deaktivere funksjonen som lagrer innlegget ditt mens du redigerer det i dashbordet, er det mulig. Bare åpne din functions.php fil og lim inn følgende kode i filen:
funksjon disableAutoSave () wp_deregister_script ('autosave'); add_action ('wp_print_scripts', 'disableAutoSave');[Kilde: WpRecipes]
Du kan da lagre filen, og WordPress vil aldri autosave et innlegg. Du kan også få funksjonen tilbake ved å slette koden.
Mer
Leter du etter flere WordPress tilpassede ting? Vi har mer for deg!
- WordPress: 30 Nyttige triks og hacker
- WordPress: 30 Flere triks og hacker
- WordPress: 40 triks og hacker