29 WordPress Tweaks om berichten en pagina's te verbeteren
We zijn dol op WordPress - maar niet iedereen is klaar om genoegen te nemen met alle standaardinstellingen en weergaven, met name hoe berichten worden weergegeven. Omdat ons geleerd is dat uniciteit belangrijk is voor de branding van een website die de bezoekers een geweldige indruk geeft, hebben bloggers en ontwikkelaars in de loop van de jaren ernaar gestreefd het berichtenscherm te tweaken om het zo uniek mogelijk te maken.
Vandaag gaan we ons richten op de slimme aanpassingen die u kunt uitvoeren om uw WordPress-berichtweergave te verbeteren. Of u nu uw postweergave wilt wijzigen om de gebruikerservaring te verbeteren of om de inkomsten of paginavertoningen te vergroten, de kans bestaat dat er een manier is om dit zonder plug-in te doen, en de meeste hier vermelde fragmenten zijn eenvoudig te implementeren, in de meeste tijd moet de verstrekte code kopiëren en plakken.
Ik hoop dat je deze tweaks nuttig vindt voor je projecten, veel plezier zult hebben aan het aanpassen!
Voorkant
1. Wijzig uw lengte van het fragment
De tweak hieronder verandert je lengte van het fragment, je kunt gewoon de volgende regels toevoegen aan je functions.php bestand, met de waarde 75 als de lengte van het fragment.
add_filter ('excerpt_length', 'my_excerpt_length'); function my_excerpt_length ($ len) terug 75;
[Bron: Danny van Kooten]
2. Twitter-stijl “tijd geleden” data
De meeste mensen weten niet dat WordPress een ingebouwde functie heeft om de datum weer te geven met behulp van de “Tijd geleden” formaat en het onderstaande fragment kan overal in de lus geplakt worden om de datum met het formaat weer te geven.
Geplaatst[Bron: PHP-fragmenten]
3. Toon postminiatuur in uw RSS-feed
Geïntroduceerd in WordPress 2.9, de
the_post_thumbnail ()
functie is erg handig om een miniatuur toegevoegd aan een bericht toe te voegen en weer te geven. Het slechte nieuws is dat er geen ingebouwde methode is om de miniatuur in uw RSS-feed weer te geven. De onderstaande functie lost dit probleem op. Plak het gewoon in uw functions.php bestand, sla het op en de berichtminiatuur wordt automatisch weergegeven in uw RSS-feed.// toon berichtminiaturen in feeds functie diw_post_thumbnail_feeds ($ content) global $ post; if (has_post_thumbnail ($ post-> ID)) $ content = ''. get_the_post_thumbnail ($ post-> ID). ''. $ Inhoud; return $ content; add_filter ('the_excerpt_rss', 'diw_post_thumbnail_feeds'); add_filter ('the_content_feed', 'diw_post_thumbnail_feeds');[Bron: Digging into WordPress]
4. Beperk het zoeken om alleen titels te plaatsen
U kunt dit fragment toevoegen aan de functions.php bestand van uw WordPress Thema's om de zoekopdracht te beperken tot alleen het plaatsen van titels.
function __search_by_title_only ($ search, & $ wp_query) if (empty ($ search)) return $ search; / / skip-verwerking - geen zoekterm in query $ q = & $ wp_query-> query_vars; // wp-includes / query.php line 2128 (versie 3.1) $ n =! empty ($ q ['exact'])? ": '%'; $ searchand ="; foreach ((array) $ q ['search_terms'] als $ term) $ term = esc_sql (like_escape ($ term)); $ search. = "$ searchand ($ wpdb-> posts.post_title LIKE '$ n $ term $ n')"; $ searchand = 'EN'; $ term = esc_sql (like_escape ($ q ['s'])); if (empty ($ q ['sentence']) && count ($ q ['search_terms'])> 1 && $ q ['search_terms'] [0]! = $ q ['s']) $ search. = "OF ($ wpdb-> posts.post_title LIKE '$ n $ term $ n')"; if (! empty ($ search)) $ search = "AND ($ search)"; if (! is_user_logged_in ()) $ search. = "AND ($ wpdb-> posts.post_password =") "; return $ search; add_filter ('posts_search', '__search_by_title_only', 10, 2);[Bron: WpSnipp]
5. Geef een verhogingsnummer op elke post weer
Met de onderstaande aanpassing kunt u een oplopend nummer weergeven voor elk bericht en het implementeren ervan is vrij eenvoudig. Plak eerst de volgende functie in uw functions.php het dossier:
function updateNumbers () global $ wpdb; $ querystr = "SELECT $ wpdb-> posts. * FROM $ wpdb-> posts WHERE $ wpdb-> posts.post_status = 'publish' AND $ wpdb-> posts.post_type = 'post'"; $ pageposts = $ wpdb-> get_results ($ querystr, OBJECT); $ telt = 0; if ($ pageposts): foreach ($ pageposts as $ post): setup_postdata ($ post); $ Tellingen ++; add_post_meta ($ post-> ID, 'incr_number', $ counts, true); update_post_meta ($ post-> ID, 'incr_number', $ counts); endforeach; stop als; add_action ('publish_post', 'updateNumbers'); add_action ('deleted_post', 'updateNumbers'); add_action ('edit_post', 'updateNumbers');Als u klaar bent, kunt u het berichtnummer weergeven met de volgende code. Merk op dat het binnen de lus moet worden gebruikt.
ID, 'incr_number', true); ?>[Bron: Alchymyth, via WpRecipes]
6. Uitsluiting bericht van WordPress Feed
Wilt u bepaalde berichten uitsluiten van uw feed? Dit is de aanpassing voor jou. Houd er rekening mee dat u alleen moet filteren waar u wilt filteren; in ons voorbeeld zit het in onze feed
$ Wp_query-> is_feed
. Als je het niet zo hebt gehaald, loopt het filter ook in je achterste en worden deze berichten niet weergegeven in het postoverzicht.De functie heeft twee parameters. U geeft de eerste parameter
$ waarbij
een uitbreiding van de SQL-string, die zorgt voor de filtering op basis van de ID kaart. Vervolgens moet u, binnen de haakjes, de ID's van de berichten, die je leuk vindt om te filteren.function fb_post_exclude ($ where, $ wp_query = NULL) global $ wpdb; if (! $ wp_query) global $ wp_query; if ($ wp_query-> is_feed) // sluit post uit met id 40 en 9 $ where. = "AND $ wpdb-> posts.ID NOT IN (40, 9)"; return $ waar; add_filter ('posts_where', 'fb_post_exclude', 1, 2);[Bron: WP Engineer]
7. Doorverwijzing naar post wanneer zoekopdracht één resultaat oplevert
Zet dit fragment in de functions.php bestand van uw WordPress-thema om uw zoekopdracht automatisch naar de post om te leiden wanneer WordPress slechts één enkel zoekresultaat retourneert.
add_action ('template_redirect', 'single_result'); function single_result () if (is_search ()) global $ wp_query; if ($ wp_query-> post_count == 1) wp_redirect (get_permalink ($ wp_query-> posts ['0'] -> ID));[Bron: WpSnipp]
8. Maak automatisch metabeschrijving van the_content
Dit fragment toevoegen aan de functions.php bestand van je WordPress-thema maakt automatisch een metabeschrijving van je WordPress-bericht, waarbij alle shortcodes en tags worden verwijderd. Zorg er ook voor dat je het in de header.php van uw WordPress-thema of dit fragment functioneert niet.
functie create_meta_desc () global $ post; if (! is_single ()) terug; $ 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); echo""; add_action ('wp_head', 'create_meta_desc');[Bron: WpSnipp]
9. Vervang automatisch woorden door affiliate links
Om woorden automatisch te vervangen door affiliate links, plakt u eenvoudig de onderstaande code in uw functions.php het dossier. Vergeet niet om uw woorden / links in te voeren zoals getoond in de onderstaande voorbeeldcode.
function replace_text_wps ($ text) $ replace = array (// 'WORD TO REPLACE' => 'VERVANG WOORD MET DIT "proefschrift" =>'scriptie',' studiopress '=>'StudioPress'); $ text = str_replace (array_keys ($ replace), $ replace, $ text); return $ tekst; add_filter ('the_content', 'replace_text_wps'); add_filter ('the_excerpt', 'replace_text_wps');[Bron: catswhoblog.com]
10. Toevoegen “Lees verder” permalink tot het einde van de_excerpt
Dit fragment hieronder toevoegen in de functions.php bestand van uw WordPress-thema voegt een toe “Lees verder” permalink aan het einde van
the_excerpt
, ongeveer zoals watde inhoud
doet.functie excerpt_readmore ($ meer) ga terug '... ID KAART); if ($ tags) $ tag_ids = array (); foreach ($ tags als $ individual_tag) $ tag_ids [] = $ individual_tag-> term_id; $ args = array ('tag__in' => $ tag_ids, 'post__not_in' => array ($ post-> ID), 'showposts' => 5, // Aantal gerelateerde berichten dat wordt getoond. 'caller_get_posts' => 1); $ my_query = nieuwe wp_query ($ args); if ($ my_query-> have_posts ()) echo 'gerelateerde berichten
[Bron: Bin-Co]
12. Maak uw eigen populaire berichten in de zijbalk
Het instellen van een zijbalkwidget voor het weergeven van populaire berichten is erg eenvoudig. Kopieer en plak de onderstaande code in uw sidebar.php het dossier. Als u het aantal getoonde berichten moet wijzigen, kunt u de 5 aan het einde van regel 3 naar een nummer dat u verkiest.
populaire posts
- get_results ("SELECT comment_count, ID, post_title FROM $ wpdb-> posts ORDER BY comment_count DESC LIMIT 0, 5"); foreach ($ resultaat als $ post) setup_postdata ($ post); $ postid = $ post-> ID; $ title = $ post-> post_title; $ commentcount = $ post-> comment_count; if ($ commentcount! = 0) ?>
[Bron: Pro Blog ontwerp]
13. Stel post-vervaldatum / -tijd in
Hieronder vindt u een nuttige code die u in uw WordPress-thema's kunt plaatsen om de mogelijkheid in te schakelen om een vervaldatum van de tijd aan te maken op basis van datum en tijd. Bewerk je thema en vervang je huidige WordPress-lus door deze "gehackte" lus:
$ expirationtime = get_post_custom_values ('expiration'); if (is_array ($ expirationtime)) $ expirestring = implode ($ expirationtime); $ secondsbetween = strtotime ($ expirestring) -time (); if ($ secondsbetween> 0) // Bijvoorbeeld ... the_title (); the_excerpt (); intussen; stop als; ?>
Als u een bericht met datum / tijd-vervaldatum wilt maken, kunt u gewoon een aangepast veld maken. Geven vervaltijd als een sleutel en je datum / tijd (formaat: mm / dd / jjjj 00:00:00) als een waarde. De post wordt niet weergegeven na die specifieke tijdstempel.
[Bron: WpRecipes]
14. Maak een lijst van toekomstige berichten
WordPress maakt het mogelijk om toekomstige berichten te markeren en om deze functie te bereiken, plakt u eenvoudig de code op de plaats waar u toekomstige berichten wilt weergeven:
Toekomstige evenementen
Geen toekomstige evenementen gepland.
[Bron: WpRecipes]
15. Geef alleen bezoekers van AdSense aan zoekmachines weer
Het is mogelijk om de AdSense naar de bezoekers weer te geven via de resultaten van zoekmachines, en hier is de code om dit te bereiken, plak de onderstaande code in de thema's functions.php het dossier.
function scratch99_fromasearchengine () $ ref = $ _SERVER ['HTTP_REFERER']; $ SE = array ('/ search?', 'Images.google.', 'Web.info.com', 'search.', 'Del.icio.us/search', 'soso.com', '/ search / ',' .yahoo. '); foreach ($ SE as $ source) if (strpos ($ ref, $ source)! == false) return true; return false;
$ SE
array is waar u de zoekmachines opgeeft. U kunt een nieuwe zoekmachine toevoegen door een nieuw element aan de array toe te voegen en vervolgens de volgende code ergens in de sjabloon plakken waar u uw AdSense-advertenties wilt weergeven, en het is klaar! De advertenties worden alleen getoond aan bezoekers van de resultaten van zoekmachines.
if (function_exists ('scratch99_fromasearchengine')) if (scratch99_fromasearchengine ()) VOER UW CODE IN HIER
[Bron: Scratch99, via WpRecipes]
Back End
1. Sta meer HTML-tags toe in de editor
Standaard staat de WordPress-editor geen HTML-tags toe die niet voldoen aan de XHTML 1.0-standaard. De onderstaande code dwingt de editor echter om meer tags te accepteren. Je kunt het in je thema's plakken functions.php bestand, sla het op en de functie is goed om te gebruiken.
function fb_change_mce_options ($ initArray) // Door komma's gescheiden string od breidt tags uit // Command-gescheiden reeks extended-elementen $ ext = 'pre [id | naam | class | style], iframe [align | longdesc | naam | width | height | frameborder | scrollen | marginheight | marginwidth | src] '; if (isset ($ initArray ['extended_valid_elements'])) $ initArray ['extended_valid_elements']. = ','. $ Ext; else $ initArray ['extended_valid_elements'] = $ ext; // kan zijn; set tiny paramter verify_html // $ initArray ['verify_html'] = false; return $ initArray; add_filter ('tiny_mce_before_init', 'fb_change_mce_options');
[Bron: WP Engineer]
2. Stel de standaardeditor in
Fragment hieronder wijzigt de standaardeditor in WordPress admin. Je kunt met de gaan Visuele editor, of je kunt de HTML-editor, voeg er gewoon een toe aan de functions.php het dossier.
# Dit stelt de Visual Editor in als standaard add_filter ('wp_default_editor', create_function (", 'return" tinymce ";')); # Dit stelt de HTML-editor in als standaard add_filter ('wp_default_editor', create_function (", 'return "html "; '));
[Bron: WP-fragmenten]
3. Stel verschillende editor stylesheets in voor verschillende berichttypen
Met de volgende code in je geplakt functions.php bestand, kunt u verschillende editor stylesheets instellen voor verschillende berichttypen. Je zult het moeten aanpassen, afhankelijk van je berichttypen, en onthoud dat je het moet veranderen stijlbladen namen ook.
function my_editor_style () global $ current_screen; switch ($ current_screen-> post_type) case 'post': add_editor_style ('editor-style-post.css'); breken; case 'page': add_editor_style ('editor-style-page.css'); breken; case 'portfolio': add_editor_style ('editor-style-portfolio.css'); breken; add_action ('admin_head', 'my_editor_style');
[Bron: WPStorm]
4. staat upload van meer bestandstypen toe
Om bepaalde redenen kunt u met WordPress Uploader bepaalde bestandstypen, zoals Textmate, niet uploaden .tmCommand. Als u dat soort bestanden naar uw WordPress-site moet uploaden, wordt hier een functioneel fragment weergegeven waarmee u het kunt doen, en u hoeft het alleen in uw functions.php het dossier. Je kunt ook meer bestandstypes toevoegen door ze toe te voegen op regel 4, gescheiden door een pijp (|).
'application / octet-stream')); return $ mimespelers; ?> add_filter ('upload_mimes', 'addUploadMimes');
[Bron: pioupioum.fr, via WpRecipes]
5. Schakel TinyMCE-editor in voor het plaatsen van the_excerpt
Het volgende fragment in de invoegtoepassing plaatsen functions.php bestand van uw WordPress-thema voegt de TinyMCE-editor toe aan het tekstgebied van het bericht.
functie tinymce_excerpt_js () ?>[Bron: WpSnipp]
6. Berichtformaten - meer creatieve manieren voor een thema
De syntaxis hieronder geeft enkele van de mogelijke postformaten die vervolgens rechtstreeks in het artikel kunnen worden gekozen en gebruikt, en wat u moet doen is de code in uw functions.php bestand van uw thema.
add_theme_support ('post-formats', array ('terzijde', 'audio', 'afbeelding', 'video'));[Bron: WP Engineer]
7. Toon postminiatuur ook in bewerkingspost en paginaoverzicht
WordPress versie 2.9 introduceerde de functie van Post Thumbnail. Het is best geweldig en om de miniatuur van de post ook weer te geven in Post bewerken en Paginaoverzicht, kun je de volgende code in een plug-in plaatsen of naar de plug-in kopiëren functions.php bestand van het thema.
if (! function_exists ('fb_AddThumbColumn') && function_exists ('add_theme_support')) // voor post en pagina add_theme_support ('post-thumbnails', array ('post', 'page')); functie fb_AddThumbColumn ($ cols) $ cols ['thumbnail'] = __ ('Thumbnail'); $ cols teruggeven; function fb_AddThumbValue ($ column_name, $ post_id) $ width = (int) 35; $ height = (int) 35; if ('thumbnail' == $ column_name) // thumbnail of WP 2.9 $ thumbnail_id = get_post_meta ($ post_id, '_thumbnail_id', true); // image from gallery $ attachments = get_children (array ('post_parent' => $ post_id, 'post_type' => 'bijlage', 'post_mime_type' => 'afbeelding')); if ($ thumbnail_id) $ thumb = wp_get_attachment_image ($ thumbnail_id, array ($ width, $ height), true); elseif ($ bijlagen) foreach ($ bijlagen als $ attachment_id => $ bijlage) $ thumb = wp_get_attachment_image ($ attachment_id, array ($ width, $ height), true); if (isset ($ thumb) && $ thumb) echo $ thumb; else echo __ ('Geen'); // voor berichten add_filter ('manage_posts_columns', 'fb_AddThumbColumn'); add_action ('manage_posts_custom_column', 'fb_AddThumbValue', 10, 2); // voor pagina's add_filter ('manage_pages_columns', 'fb_AddThumbColumn'); add_action ('manage_pages_custom_column', 'fb_AddThumbValue', 10, 2);[Bron: WP Engineer]
8. Maak aangepaste berichten over de status van de post in admin
Deze aanpassing werd oorspronkelijk door de ontwikkelaar geschreven als een manier voor een klant om aangepaste berichten weer te geven voor elk bericht dat een auteur maakt. In dit geval kan een bericht een bericht hebben als verworpen, fout, bron, laatste, etc. U kunt de berichten net onder de opmerking van de code wijzigen, Serie van aangepaste statusberichten, gewoon om ervoor te zorgen dat je de klassenamen ook, die u kunt wijzigen na de opmerking, verander de kleur van onderstaande berichten.
add_filter ('display_post_states', 'custom_post_state'); function custom_post_state ($ states) global $ post; $ show_custom_state = get_post_meta ($ post-> ID, '_status'); if ($ show_custom_state) $ states [] = __ (''. $ show_custom_state [0]. ''); retourneert $ toestanden; add_action ('post_submitbox_misc_actions', 'custom_status_metabox'); function custom_status_metabox () global $ post; $ custom = get_post_custom ($ post-> ID); $ status = $ aangepast ["_ status"] [0]; $ i = 0; / * ----------------------------------- * / / * Serie van aangepaste statusberichten * / / * ----------------------------------- * / $ custom_status = array ('Spelling', 'Review', 'Fouten', 'Bron', 'Afgewezen', 'Laatste',); echo ''; echo ''; echo ''; add_action ('save_post', 'save_status'); function save_status () global $ post; if (gedefinieerd ('DOING_AUTOSAVE') && DOING_AUTOSAVE) return $ post-> ID; update_post_meta ($ post-> ID, "_status", $ _POST ["status"]); add_action ('admin_head', 'status_css'); function status_css () echo '';[Bron: WpSnipp]
9. Stel de maximale lengte van de titel in
Toevoegen van deze PHP-code in de functions.php bestand van uw WordPress thema zal een maximumaantal woorden instellen dat in uw berichttitel kan worden weergegeven, vrij handige aanpassingen!
function maxWord ($ title) global $ post; $ title = $ post-> post_title; if (str_word_count ($ title)> = 10) // stel dit in op het maximale aantal woorden wp_die (__ ('Fout: uw berichttitel overschrijdt het maximale aantal woorden.')); add_action ('publish_post', 'maxWord');[Bron: WpSnipp]
10. Hoe WordPress-editorlettertype te veranderen
Haat het huidige lettertype dat wordt gebruikt in de WordPress-editor? Het is mogelijk om te veranderen naar een modern lettertype zoals Monaco of Consolas, plak de code gewoon in uw WordPress-thema's functions.php het dossier.
functie change_editor_font () echo ""; add_action (" admin_print_styles "," change_editor_font ");[Bron: shailan.com, via WpRecipes]
11. Een aangepast veld automatisch toevoegen bij posten / pagina publiceren
Een codefragment voor het automatisch installeren van een aangepast veld op een pagina of een bericht wanneer deze worden gepubliceerd. Je kunt gewoon de onderstaande code toevoegen aan je functions.php bestand, dat zich in de map van uw thema bevindt. Vergeet natuurlijk niet om de aangepaste veldnaam.
add_action ('publish_page', 'add_custom_field_automatically'); add_action ('publish_post', 'add_custom_field_automatically'); function add_custom_field_automatically ($ post_ID) global $ wpdb; if (! wp_is_post_revision ($ post_ID)) add_post_meta ($ post_ID, 'veldnaam', 'aangepaste waarde', waar);[Bron: wpCanyon]
12. Ontdoe ongebruikte postrevisies
Hier komt een zeer handige SQL-query die alle berichtrevisies onmiddellijk verwijdert, evenals meta die eraan is gekoppeld. U moet de volgende query uitvoeren in uw WordPress-database en alle revisies (en bijbehorende meta's) uit uw database verwijderen. Een belangrijke opmerking hier, zorg ervoor dat u een back-up maakt van uw database voordat u de code uitvoert.
DELETE a, b, c FROM wp_posts a WHERE a.post_type = 'revision' LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id);[Bron: Lesterchan.net]
13. Wijzig de lengte van het fragment afhankelijk van de categorie
Ooit gewenst om de lengte van het fragment te wijzigen op basis van de categorie waarin u zich bevindt? Hier komt de code die je wens toestaat. Plak de code gewoon in uw functions.php bestand, en vergeet niet om de categorie ID op regel 3!
add_filter ('excerpt_length', 'my_excerpt_length'); function my_excerpt_length ($ length) if (in_category (14)) terug 13; else retourneer 60;[Bron: WpRecipes]
14. Schakel berichten automatisch opslaan uit
Als u om een of andere belangrijke reden de functie wilt uitschakelen waarmee uw bericht automatisch wordt verplaatst terwijl u deze in het dashboard bewerkt, is dit mogelijk. Open eenvoudig uw functions.php bestand en plak de volgende code in het bestand:
function disableAutoSave () wp_deregister_script ('autosave'); add_action ('wp_print_scripts', 'disableAutoSave');[Bron: WpRecipes]
U kunt het bestand vervolgens opslaan en WordPress zal een bericht nooit automatisch opslaan. U kunt de functie ook terughalen door de code te verwijderen.
Meer
Bent u op zoek naar meer maatwerk van WordPress? We hebben meer voor jou!
- WordPress: 30 nuttige trucs en hacks
- WordPress: 30 extra trucs en hacks
- WordPress: 40 trucs en hacks