Er zijn veel WordPress plugins beschikbaar die enorm veel functionaliteiten aan je website kunnen toevoegen. Vaak zijn deze plugins echter te uitgebreid en doen ze meer dan je nodig hebt. Dit kan zorgen voor een langere laadtijd van je pagina’s, zonder dat dit nodig is. In dit artikel staan 10 handige WordPress code snippets: stukjes code die een functionaliteit aan je website toevoegen.
In onze artikelen en op onze pagina's staan affiliate links. Wanneer je via één van deze links een aankoop doet, ontvangen wij een (meestal kleine) commissie van de verkoper. Wij geven altijd onze eerlijke mening over producten. Klik hier voor meer informatie.
Deze snippets moeten in het functions.php bestand worden geplaatst.
1. Standaard widgets verwijderen
Inhoud
- 1. Standaard widgets verwijderen
- 2. Notificatie weergeven in backend
- 3. Logo login pagina wijzigen
- 4. Minimaal aantal woorden voor publiceren bericht
- 5. Totaal aantal afbeeldingen tellen
- 6. Redirect bezoeker na plaatsen reactie
- 7. ‘Recente berichten’ dashboard widget
- 8. URL auteur pagina veranderen
- 9. ‘Website-URL’ veld bij reactie weghalen
- 10. Minimaal aantal karakters per reactie
- Meer snippets?
Met deze functie kun je de standaardwidgets verwijdren. Als je naar ‘Weergave –> Widgets’ gaat, zie je veel widgets staan. Dit is onoverzichtelijk, zeker als je zelf ook nog wat widgets hebt toegevoegd (d.m.v. plugins). Er zijn vast en zeker widgets die je niet gebruikt en nooit zal gebruiken, dus waarom verberg je die niet? Uiteraard wil je ze niet allemaal verwijderen, dus verwijder de regels code waar de widgets worden weggehaald die je wél wilt hebben. Opmerking: de widgets worden niet verwijderd, maar gewoon verborgen. Als je de code weg haalt zijn de widgets er weer!
Divi theme & Divi Builder
Bij Elegant Themes ontvang je meer dan
85 premium WordPress themes (waaronder Divi!) voor maar 89 dollar!
Bekijk de themes »»
Lees meer over Divi.
// standaard widgets verwijderen function unregister_default_widgets() { unregister_widget('WP_Widget_Pages'); unregister_widget('WP_Widget_Calendar'); unregister_widget('WP_Widget_Archives'); unregister_widget('WP_Widget_Links'); unregister_widget('WP_Widget_Meta'); unregister_widget('WP_Widget_Search'); unregister_widget('WP_Widget_Text'); unregister_widget('WP_Widget_Categories'); unregister_widget('WP_Widget_Recent_Posts'); unregister_widget('WP_Widget_Recent_Comments'); unregister_widget('WP_Widget_RSS'); unregister_widget('WP_Widget_Tag_Cloud'); unregister_widget('WP_Nav_Menu_Widget'); unregister_widget('Twenty_Eleven_Ephemera_Widget'); } add_action('widgets_init', 'unregister_default_widgets', 11);
2. Notificatie weergeven in backend
Dit is een handige functie als je iets wilt aankondigen. Iedereen die inlogt op de achterkant van je website, zal een balk zien met een notificatie. Wat er in staat, hangt af van de tekst waar nu “Je bericht hier!” staat. Bij “Hallo admins!” kun je een tekst plaatsen die alleen zichtbaar is voor admins. Handig!
function showMessage($message, $errormsg = false){ if ($errormsg) { echo '<div id="message">'; } else { echo '<div id="message">'; } echo "<p><strong>$message</strong></p></div>"; } function showAdminMessages() { showMessage("Je bericht hier!", true); if (user_can('manage_options') { showMessage("Hallo admins!"); } } add_action('admin_notices', 'showAdminMessages');
3. Logo login pagina wijzigen
Er zijn veel plugins die je login pagina kunnen aanpassen. Ze passen bijvoorbeeld de kleuren aan, veranderen de afbeelding, etc. etc. Vaak wil je echter alleen maar het logo aanpassen en zijn alle andere functies van zo’n plugin dus overbodig. Met dit stukje code verander je de afbeelding op de login pagina van je website zelf, zonder plugins! De perfecte afmetingen zijn 274 x 63 pixels. Gebruik je toch liever een plugin? In dit artikel lees je daar meer over.
function custom_admin_logo() { echo '<style type="text/css"> #header-logo { background-image: url('.get_bloginfo('template_directory').'/images/admin_logo.png) !important; } </style>'; } add_action('admin_head', 'custom_admin_logo');
4. Minimaal aantal woorden voor publiceren bericht
Het kan zijn dat je meerdere auteurs, of een artikelwebsite. Als je een minimaal aantal woorden vereist voordat een bericht geplaatst mag worden, bespaar je jezelf veel tijd. Vul waar nu ‘100’ staat je eigen aantal woorden in en bij ‘Error: …’ je eigen foutmelding.
function minWord($content) { global $post; $num = 100; // vul hier het minimaal aantal woorden in $content = $post->post_content; if (str_word_count($content) < $num) wp_die( __('Error: je bericht heeft niet genoeg woorden.') ); } add_action('publish_post', 'minWord');
5. Totaal aantal afbeeldingen tellen
Een leuke functie om jezelf bewust te maken van de grootte van je website. Dit stukje code telt hoeveel afbeeldingen je in je Media Bibliotheek hebt staan. Dit aantal kun jij vervolgens ergens weergeven, op een pagina met website statistieken bijvoorbeeld!
function img_count(){ $query_img_args = array( 'post_type' => 'attachment', 'post_mime_type' =>array( 'jpg|jpeg|jpe' => 'image/jpeg', 'gif' => 'image/gif', 'png' => 'image/png', ), 'post_status' => 'inherit', 'posts_per_page' => -1, ); $query_img = new WP_Query( $query_img_args ); echo $query_img->post_count; }
6. Redirect bezoeker na plaatsen reactie
Wanneer een bezoeker een reactie heeft geplaatst, wordt de pagina herladen en verlaat de bezoeker vaak de pagina. Met deze functie stuur je de bezoeker na het plaatsen van een reactie door naar een pagina naar keuze, om ze bijvoorbeeld te bedanken of te belonen.
add_filter('comment_post_redirect', 'redirect_after_comment'); function redirect_after_comment(){ wp_redirect('/thank-you-page/'); exit(); }
7. ‘Recente berichten’ dashboard widget
Het dashboard is de standaardlocatie waar je heen gaat zodra je bent ingelogd. Daar zie niet heel veel nuttige dingen, terwijl je er toch elke keer op komt. Met deze functie plaats je een widget op je dashboard met recent geplaatste berichten.
function wps_recent_posts_dw() { ?> <ol> <?php global $post; $args = array( 'numberposts' => 5 ); $myposts = get_posts( $args ); foreach( $myposts as $post ) : setup_postdata($post); ?> <li> (<? the_date('Y / n / d'); ?>) <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li> <?php endforeach; ?> </ol> <?php } function add_wps_recent_posts_dw() { wp_add_dashboard_widget( 'wps_recent_posts_dw', __( 'Recent Posts' ), 'wps_recent_posts_dw' ); } add_action('wp_dashboard_setup', 'add_wps_recent_posts_dw' );
8. URL auteur pagina veranderen
De URL van een auteurspagina is standaard /author/*gebruikersnaam*. Het is mogelijk om deze URL aan te passen, maar deze functie zit niet standaard in WordPress gebouwd. Gebruik de onderstaande code om ‘author’ te veranderen in iets anders. In het voorbeeld hieronder is het ‘profile’ geworden, maar dit kun je aanpassen naar wat je maar wilt. Handig!
add_action('init', 'cng_author_base'); function cng_author_base() { global $wp_rewrite; $author_slug = 'profile'; // verander slug naam $wp_rewrite->author_base = $author_slug; }
9. ‘Website-URL’ veld bij reactie weghalen
Bij het WordPress reactie systeem moeten bezoekers hun naam, e-mail, website (optioneel) en bericht invullen. Het ‘website’ veld voegt echter niet zo veel toe en je zou ervoor kunnen kiezen om deze weg te laten. Door deze functie te plaatsen in je functions.php bestand (net als alle andere functies in dit artikel), verberg je het ‘website’ veld. Je zou het veld er ook uit kunnen slopen, maar dan kan je het niet meer makkelijk terug draaien. Op deze manier kun je er altijd weer voor kiezen om het veld wél weer te tonen: het stukje code weer weghalen.
function remove_comment_fields($fields) { unset($fields['url']); return $fields; } add_filter('comment_form_default_fields','remove_comment_fields');
10. Minimaal aantal karakters per reactie
Last but not least: stel een minimaal aantal karakters in per reactie die geplaatst wordt. Zo zorg je voor meer content en verhoog je de kwaliteit van de reacties; reacties zoals ‘bedankt’ voegen niet zo veel toe.
add_filter( 'preprocess_comment', 'minimal_comment_length' ); function minimal_comment_length( $commentdata ) { $minimalCommentLength = 20; if ( strlen( trim( $commentdata['comment_content'] ) ) < $minimalCommentLength ) { wp_die( 'Een reactie moet tenminste ' . $minimalCommentLength . ' karakters bevatten.' ); } return $commentdata; }
Meer snippets?
Ben je na het lezen van dit artikel ook zo enthousiast over de mogelijkheden? In dit artikel vind je nog vijf handige snippets. Heb jij zelf nog een handige snippet en wil je deze met andere mensen delen? Plaats hem in een reactie onder dit artikel.
Reageer