10 WordPress-fragmenten voor thema-aanpassingen
Wanneer u WordPress gebruikt, is het heel eenvoudig om het uiterlijk van uw website te veranderen, dankzij thema's. Er zijn veel (zoals een hele reeks) WordPress-thema's beschikbaar, zowel gratis als voor een premium prijs. Kies een thema, installeer het en je kunt binnen enkele minuten een compleet nieuwe look voor je website krijgen.
Maar afgezien van het geven van de look & feel, kan een WordPress-thema ook op veel manieren worden uitgebreid. Je kunt nieuwe functionaliteiten bouwen met plug-ins, maar in dit bericht kijken we naar WordPress-functies die handig kunnen zijn voor uw thema. Je hoeft alleen deze functies in het functions.php-bestand van je thema te plaatsen om het effect te laten plaatsvinden.
Aanbevolen literatuur: hoe u codefragmenten kunt beheren en gebruiken in WordPress
1. Wijzig de lengte van de uittreksel
Een uittreksel is een kort stukje van je bericht dat je kunt zien. WordPress stelt in dit geval het fragment standaard in op 55 woorden. Maar met WordPress kunnen we de standaardlengte aanpassen via de excerpt_length
filter, als volgt.
function my_excerpt_length ($ length) terug 30; add_filter ('excerpt_length', 'my_excerpt_length', 999);
De retourwaarde verwijst naar de som van de woorden die als een uittreksel worden weergegeven. In het bovenstaande voorbeeld geven we 30 woorden van elk bericht in het uittreksel weer.
2. Verklein postherzieningen
Met WordPress kunnen schrijvers en bloggers terugkijken op eerdere versies van hun werk. Naarmate de herzieningen in aantal toenemen, kunnen ze echter ook van invloed zijn op de prestaties van een website, aangezien elke nieuw opgenomen revisie een nieuwe rij toevoegt aan de database. Dit probleem wordt alleen maar erger in de loop van de tijd.
Om dit probleem op te lossen, kunt u instellen hoeveel revisies u in de database wilt opslaan. Om dit te doen, open je wp-config.php en voeg dit fragment hieronder toe. Wijzig het aantal om het aantal revisies dat u wilt opslaan te beperken.
define ('WP_POST_REVISIONS', 5);
Als u WordPress-revisie liever uitschakelt, wijzigt u de waarde in VALSE
zoals dit:
define ('WP_POST_REVISIONS', false);
3. Plaats automatisch het aanbevolen beeld op een post
Het is gebruikelijk om een aanbevolen afbeelding weer te geven die een bericht vertegenwoordigt of beschrijft. WordPress vereist dat we deze aanbevolen afbeelding instellen handmatig. Om het proces efficiënter te maken, kunnen we de aanbevolen afbeelding instellen automatisch door het maken van de eerste afbeelding in de post de gekenmerkte afbeelding. Gebruik het volgende codefragment.
function autoset_featured () global $ post; $ already_has_thumb = has_post_thumbnail ($ post-> ID); if (! $ already_has_thumb) $ attached_image = get_children ("post_parent = $ post-> ID & post_type = bijlage & post_mime_type = image & numberposts = 1"); if ($ attached_image) foreach ($ attached_image als $ attachment_id => $ bijlage) set_post_thumbnail ($ post-> ID, $ attachment_id); add_action ('the_post', 'autoset_featured'); add_action ('save_post', 'autoset_featured'); add_action ('draft_to_publish', '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 commentaarlengte
Geen fan van de 1-2 woordcommentaren zoals “Leuke post!”, “Goed gedaan!”? Hoewel de opmerking mogelijk geen spam is, zijn dit het type reacties dat doorgaans geen verdere discussies aanmoedigt. Als u uw commentatoren aan het praten wilt krijgen, kunt u een minimumlengte aan woorden instellen voordat de lezers hun opmerking kunnen plaatsen.
Hieronder staat het fragment om het minimumaantal tekens of woorden in te stellen voor opmerkingen. Zet het in functions.php.
function minimal_comment_length ($ commentdata) $ minimalCommentLength = 20; if (strlen (trim ($ commentdata ['comment_content']))
$ minimalCommentLength
waarde is het minimumaantal tekens dat vereist is, breng uw wijzigingen in deze waarde aan om dit aan te passen.5. Schakel links uit gebruikersreacties uit
Links die zijn opgenomen in het opmerkingenformulier worden onmiddellijk een klikbare link zodra ze zijn gepost en goedgekeurd. Dit kan worden misbruikt door spammers, en hen aanmoedigen om uw commentaarsectie over te laten lopen met een link naar hun "spammy" -pagina.
Om dit tegen te gaan, kunt u dit filter toevoegen om de klikbaarheid van de link (en) uit te schakelen en eenvoudigweg als platte tekst te behouden.
remove_filter ('comment_text', 'make_clickable', 9);6. Verwijder klassen en ID's uit aangepaste menu's
Als u het aangepaste menu bekijkt in WordPress, vindt u een aantal klassen en id's op elk menu-item. Gebruik het onderstaande fragment om de klassen te verwijderen die u niet wilt en om de klassen te behouden die u nodig hebt.
function my_css_attributes_filter ($ var) return is_array ($ var)? array_intersect ($ var, array ('current-menu-item')): "; 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);In de bovenstaande code houden we de
huidige menubestanddeel
klasse.7. Pagina's uitsluiten van zoeken
Zoeken in WordPress levert resultaten op van zowel pagina's als berichten, soms met weinig relevantie voor uw zoekopdracht. Om dit te voorkomen, kunt u de zoekresultaten filteren om alleen die te tonen die u in berichten aantreft. Voeg dit fragment toe aan function.php om dit te doen.
function SearchFilter ($ query) if ($ query-> is_search) $ query-> set ('post_type', 'post'); return $ query; add_filter ('pre_get_posts', 'SearchFilter');8. Vervang Howdy-tekst
Verveeld met de 'Howdy'-tekst? Als je dat wilt wijzigen in een speciale aanhef op je site, voeg je dit gewoon toe aan functions.php en het effect zal onmiddellijk plaatsvinden.
functie change_howdy ($ vertaald, $ text, $ domein) if (false! == strpos ($ vertaald, 'Howdy')) retourneer str_replace ('Howdy', 'Hello', $ vertaald); return $ vertaald; add_filter ('gettext', 'change_howdy', 10, 3);9. Voeg extra menuverwijdering toe voor bepaalde rollen
Met dit fragment kunt u menu's verbergen die zich in het Dashboard bevinden, voor niet-beheerders.
function remove_admin_menus () if (is_user_logged_in () &&! current_user_can ('administrator')) remove_menu_page ('index.php'); // Dashboard remove_menu_page ('edit.php'); // Berichten remove_menu_page ('upload.php'); // Media remove_menu_page ('edit.php? Post_type = page'); // Pages remove_menu_page ('edit-comments.php'); // Reacties remove_menu_page ('themes.php'); // Uiterlijk remove_menu_page ('plugins.php'); // Plug-ins remove_menu_page ('users.php'); // Gebruikers remove_menu_page ('tools.php'); // Tools remove_menu_page ('options-general.php'); // Instellingen add_action ('admin_init', 'remove_admin_menus');Houd er rekening mee dat hiermee de menu's van het scherm worden verwijderd, maar de toestemming van de gebruiker om dit menu te openen niet wordt gefilterd. Het belet niet dat een gebruiker deze menu's rechtstreeks via de adresbalk van de browser opent. Vergeet niet om ze toe te voegen aan uw functions.php.
10. Verwijder Admin Bar Link voor niet-beheerders
In het WordPress Dashboard vindt u naast het hoofdmenu op de zijbalk ook een aantal menu-links bovenaan. U kunt de toegang tot deze beheerdersbarinkoppeling beperken voor specifieke rollen of gebruikers. Met dit onderstaande fragment wordt het menu in de beheerbalk verwijderd voor gebruikers die geen beheerder zijn - dienovereenkomstig aanpassen.
function remove_admin_bar_links () global $ wp_admin_bar; if (! current_user_can ('beheerder')) $ wp_admin_bar-> remove_menu ('wp-logo'); // Verwijder het WordPress-logo $ wp_admin_bar-> remove_menu ('about'); // Verwijder de over WordPress link $ wp_admin_bar-> remove_menu ('wporg'); // Verwijder de WordPress.org-link $ wp_admin_bar-> remove_menu ('documentatie'); // Verwijder de WordPress-documentatie link $ wp_admin_bar-> remove_menu ('support-forums'); // Verwijder de supportforums link $ wp_admin_bar-> remove_menu ('feedback'); // Verwijder de feedbacklink $ wp_admin_bar-> remove_menu ('sitenaam'); // Verwijder de link naar de sitenaam $ wp_admin_bar-> remove_menu ('view-site'); // Verwijder de bezoeksite link $ wp_admin_bar-> remove_menu ('updates'); // Verwijder de updates link $ wp_admin_bar-> remove_menu ('comments'); // Verwijder de opmerkingenlink $ wp_admin_bar-> remove_menu ('nieuwe inhoud'); // Verwijder de nieuwe inhoudlink $ wp_admin_bar-> remove_menu ('mijn account'); // Verwijder het tabblad gebruikersdetails add_action ('wp_before_admin_bar_render', 'remove_admin_bar_links');