10 WordPress Snippets Til Tema Tilpasninger
Når du bruger WordPress, er det meget nemt at ændre udseendet af dit websted takket være temaer. Der er mange (som en hel masse) af WordPress Temaer tilgængelige både gratis eller til en overkommelig pris. Vælg et tema, installer det, og du kan få et helt nyt udseende til din hjemmeside inden for få minutter.
Men ud over at give udseendet, kan et WordPress-tema udvides på mange måder. Du kan bygge nye funktioner med plugins, men i dette indlæg ser vi på WordPress-funktioner, der kan være nyttige til dit tema. Du skal bare sætte disse funktioner i funktionen your.php-fil for at effekten skal finde sted.
Anbefalet læsning: Sådan administreres og bruges kodeuddrag i WordPress
1. Ændre længden af uddrag
en uddrag er et kort stykke af dit indlæg, som du kan se. WordPress, i dette tilfælde sætter uddraget til at være 55 ord lang som standard. Men, WordPress tillader os at tilpasse standardlængden gennem excerpt_length
filtrer som følger.
funktion my_excerpt_length ($ længde) return 30; add_filter ('excerpt_length', 'my_excerpt_length', 999);
Returværdien henviser til summen af ord, der vises som et uddrag. I eksemplet ovenfor viser vi 30 ord for hvert indlæg i uddraget.
2. Reducer postrevisioner
WordPress lader forfattere og bloggere se tilbage på tidligere versioner af deres arbejde. Men da revisionerne vokser i antal, kan de også påvirke en websteds ydeevne, da hver nyoptagede revision tilføjer en ny række til databasen. Dette problem vil kun blive værre over tid.
For at løse dette problem kan du angive, hvor mange revisioner du vil gemme i databasen. For at gøre dette skal du åbne din wp-config.php og tilføj dette uddrag nedenfor. Skift nummer for at begrænse antallet af revisioner, du vil have gemt.
define ('WP_POST_REVISIONS', 5);
Hvis du hellere vil deaktivere WordPress-revision, skal du skifte værdien til FALSK
sådan her:
define ('WP_POST_REVISIONS', falsk);
3. Indstil automatisk valgt billede på et indlæg
Det er almindeligt at vise et fremhævet billede, der repræsenterer eller beskriver et indlæg. WordPress kræver, at vi indstiller dette fremhævede billede manuelt. For at gøre processen mere effektiv, kan vi indstille det fremhævede billede automatisk ved at gøre det første billede i posten det fremhævede billede. Brug følgende kodestykke.
funktion autoset_featured () global $ post; $ already_has_thumb = has_post_thumbnail ($ post-> ID); hvis (! $ already_has_thumb) $ attached_image = get_children ("post_parent = $ post-> ID & post_type = vedhæftning & post_mime_type = billede & numberposts = 1"); hvis ($ attached_image) foreach ($ attached_image som $ attachment_id => $ vedhæftet fil) set_post_thumbnail ($ post-> ID, $ attachment_id); add_action ('the_post', 'autoset_featured'); add_action ('save_post', 'autoset_featured'); add_action ('draft_to_public', 'autoset_featured'); add_action ('new_to_publish', 'autoset_featured'); add_action ('pending_to_publish', 'autoset_featured'); add_action ('future_to_publish', 'autoset_featured');
4. Force Minimum Comment Length
Ikke en fan af de 1-2 ord kommentarer som “Nice Post!”, “Godt arbejde!”? Selv om kommentaren måske ikke er spam, er det typen af kommentarer, som typisk ikke vil fremme yderligere diskussioner. Hvis du ønsker at få dine kommentarer til at tale, kan du angive en minimumslængde af ord, der kræves, før læserne kan sende deres kommentar.
Nedenfor er uddraget for at indstille det mindste antal tegn eller ord til kommentarer. Put den ind functions.php.
funktion minimal_comment_length ($ commentdata) $ minimalCommentLength = 20; hvis (strlen (trim ($ commentdata ['comment_content'])))
$ minimalCommentLength
værdi er det mindste antal tegn, der kræves, foretag dine ændringer til denne værdi for at finjustere dette.5. Deaktiver links fra brugerkommentarer
Links, der er inkluderet i kommentarformularen, bliver øjeblikkeligt et klikbart link, når de er indsendt og godkendt. Dette kan udnyttes af spammere og opfordrer dem til at oversvømme din kommentar sektion med et link til deres "spammy" side.
For at imødegå dette kan du tilføje dette filter for at deaktivere linkstyrkenes klikfunktioner og behold dem blot som almindelig tekst.
remove_filter ('comment_text', 'make_clickable', 9);6. Fjern klasse og id'er fra brugerdefinerede menuer
Hvis du ser på den brugerdefinerede menu i WordPress, finder du en flok klasser og ids på hvert menupunkt. Brug nedenstående uddrag til at fjerne de klasser, du ikke vil have, og til at holde de klasser, du har brug for.
funktion my_css_attributes_filter ($ var) return is_array ($ var)? array_intersect ($ var, array ('nuværende menupunkt')): "; add_filter ('nav_menu_css_class', 'my_css_attributes_filter', 100, 1); add_filter ('nav_menu_item_id', 'my_css_attributes_filter', 100, 1); add_filter ('page_css_class', 'my_css_attributes_filter', 100, 1);I ovenstående kode holder vi
strøm-menu-item
klasse.7. Ekskluder sider fra søgning
At udføre søgninger i WordPress vil trække resultater fra begge sider og indlæg, nogle gange uden relevans for din søgning. For at forhindre dette kan du filtrere søgeresultaterne for kun at vise dem, der findes i indlæg. Tilføj dette uddrag til function.php at gøre dette.
funktion SearchFilter ($ query) if ($ query-> is_search) $ query-> sæt ('post_type', 'post'); returnér $ forespørgsel; add_filter ('pre_get_posts', 'SearchFilter');8. Udskift Howdy Text
Bored med 'Howdy' teksten? Hvis du vil ændre det til en særlig hilsen på dit websted, skal du blot tilføje dette til functions.php, og effekten finder sted straks.
funktion change_howdy ($ oversat, $ tekst, $ domain) if (false! == strpos ($ oversat, 'Howdy')) returner str_replace ('Howdy', 'Hello', $ translated); returner $ oversat; add_filter ('gettext', 'change_howdy', 10, 3);9. Tilføj ekstra menufjernelse for bestemte roller
Du kan skjule menuer, der findes i Dashboard, for ikke-administratorer, med dette uddrag.
funktion remove_admin_menus () if (is_user_logged_in () &&! current_user_can ('administrator')) remove_menu_page ('index.php'); // Dashboard remove_menu_page ('edit.php'); // Indlæg remove_menu_page ('upload.php'); // Media remove_menu_page ('edit.php? Post_type = side'); // Sider remove_menu_page ('edit-comments.php'); // Kommentarer remove_menu_page ('themes.php'); // Udseende remove_menu_page ('plugins.php'); // Plugins remove_menu_page ('users.php'); // Brugere remove_menu_page ('tools.php'); // Værktøjer remove_menu_page ('options-general.php'); // Settings add_action ('admin_init', 'remove_admin_menus');Bemærk, at dette kun fjerner menuerne fra skærmen, men filtrerer ikke brugerens tilladelse til at få adgang til denne menu. Det forhindrer ikke en bruger i at få adgang til disse menuer direkte via adressefeltet i browseren. Husk at tilføje dem til din functions.php.
10. Fjern Admin Bar Link For Ikke-Administerende
I WordPress Dashboard finder du udover hovedmenuen på sidepanelet også et par menu links øverst. Du kan begrænse adgangen til denne administratorlinkslink fra bestemte roller eller brugere. Dette uddrag nedenfor fjerner menuen i adminlinjen for brugere, der ikke er administrator - juster i overensstemmelse hermed.
funktion remove_admin_bar_links () global $ wp_admin_bar; hvis (! current_user_can ('administrator')) $ wp_admin_bar-> remove_menu ('wp-logo'); // Fjern WordPress-logoet $ wp_admin_bar-> remove_menu ('about'); // Fjern om WordPress-linket $ wp_admin_bar-> remove_menu ('wporg'); // Fjern WordPress.org link $ wp_admin_bar-> remove_menu ('documentation'); // Fjern WordPress dokumentationslinket $ wp_admin_bar-> remove_menu ('support-forums'); // Fjern supportforbindelsens link $ wp_admin_bar-> remove_menu ('feedback'); // Fjern feedbacklinket $ wp_admin_bar-> remove_menu ('site-name'); // Fjern webstedets navn link $ wp_admin_bar-> remove_menu ('view-site'); // Fjern linket til besøgssite $ wp_admin_bar-> remove_menu ('updates'); // Fjern opdateringslinket $ wp_admin_bar-> remove_menu ('comments'); // Fjern kommentar linket $ wp_admin_bar-> remove_menu ('nyt indhold'); // Fjern det nye indholds link $ wp_admin_bar-> remove_menu ('my-account'); // Fjern fanen Brugeroplysninger add_action ('wp_before_admin_bar_render', 'remove_admin_bar_links');