
- 5 Handige WordPress code snippets, april 2019
- 5 Handige WordPress code snippets, mei 2019
- 5 Handige WordPress code snippets, juni 2019
- 5 Handige WordPress code snippets, juli 2019
- 5 Handige WordPress code snippets, augustus 2019
- 5 Handige WordPress code snippets, september 2019
- 5 Handige WordPress code snippets, oktober 2019
- 5 Handige WordPress code snippets, november 2019
Vaak bevatten WordPress plugins veel meer functionaliteiten dan je eigenlijk nodig hebt en dit kan je website uiteindelijk langzamer maken. Hier vind je 5 handige code snippets voor functionaliteiten waar je geen plugin voor nodig hebt.
Onderstaande code snippets kan je (tenzij anders vermeld) in het functions.php bestand van je thema plaatsen, of in een site-specifieke plugin.
Lees hier hoe je een site specifieke plugin maakt.
1. De zoekfunctie in WordPress uitschakelen
De zoekfunctie van WordPress is een standaard functionaliteit, en wordt door de meeste thema’s wel ondersteund. Wanneer je website geen gebruik maakt van deze zoekfunctie kan je deze het beste helemaal uitschakelen.
Onderstaande snippet zorgt ervoor dat de complete zoek-functionaliteit op je website verdwijnt.
Het uitschakelen van de zoekfunctie kan handig zijn wanneer je server waar je website op draait bijvoorbeeld een beperkte rekencapaciteit heeft, en je toch geen inhoud op je website hebt welke doorzocht moet kunnen worden.
/**
* Disable WordPress search.
*/
add_action( 'parse_query', 'wpsimpel_filter_query' );
add_filter( 'get_search_form', create_function( '$a', "return null;" ) );
function wpsimpel_filter_query( $query, $error = true ) {
if ( is_search() ) {
$query->is_search = false;
$query->query_vars[s] = false;
$query->query[s] = false;
// to error
if ( $error == true )
$query->is_404 = true;
}
}
2. Browserdetectie
Wil je verschillende stylesheets in je thema gebruiken voor verschillende browsers? Met onderstaande snippet kan je website de browser van de bezoeker herkennen, en wordt er een extra class aan je <body>
tag toegevoegd.
/**
* Detect a visitors browser and add an extra body class.
*/
add_filter('body_class','wpsimpel_browser_body_class');
function wpsimpel_browser_body_class($classes) {
global $is_lynx, $is_gecko, $is_IE, $is_opera, $is_NS4, $is_safari, $is_chrome, $is_iphone;
if($is_lynx) $classes[] = 'lynx';
elseif($is_gecko) $classes[] = 'gecko';
elseif($is_opera) $classes[] = 'opera';
elseif($is_NS4) $classes[] = 'ns4';
elseif($is_safari) $classes[] = 'safari';
elseif($is_chrome) $classes[] = 'chrome';
elseif($is_IE) $classes[] = 'ie';
else $classes[] = 'unknown';
if($is_iphone) $classes[] = 'iphone';
return $classes;
}
3. Een eigen WP Admin dashboard widget toevoegen
Wil je een eigen widget toevoegen aan het WordPress dashboard, bijvoorbeeld om je klanten van extra informatie te voorzien? Gebruik dan onderstaande snippet.
/**
* Add a custom WP Admin dashboard widget.
*/
add_action('wp_dashboard_setup', 'wpsimpel_dashboard_widgets');
function wpsimpel_dashboard_widgets() {
global $wp_meta_boxes;
wp_add_dashboard_widget('custom_help_widget', 'Client Support', 'custom_dashboard_help');
}
function custom_dashboard_help() {
echo __( '<p>Welcome to wpsimpel! Need help? Contact the developer <a href="mailto:hallo@wpsimpel.nl">here</a>. For WordPress Tutorials visit: <a href="http://www.wpsimpel.nl" target="_blank">wpsimpel.nl</a></p>', 'your-text-domain' );
}
4. WordPress widgets verbergen
Met onderstaande snippet verwijder je widgets die je kan vinden bij Weergave > Widgets. Onderstaand voorbeeld verwijdert de standaard ‘kalender’, ‘zoekbalk’ en ‘recente reacties’ widgets.
/**
* Hide WordPress widgets.
*/
function unregister_default_wp_widgets() {
unregister_widget('WP_Widget_Calendar');
unregister_widget('WP_Widget_Search');
unregister_widget('WP_Widget_Recent_Comments');
}
add_action('widgets_init', 'unregister_default_wp_widgets', 1);
5. Breadcrumbs maken zonder plugin
Gebruik je de plugin Yoast SEO, dan zit hier standaard een functionaliteit in welke breadcrumbs op je website plaatst. Wil je geen gebruik maken van een plugin voor breadcrumbs, dan kan je met onderstaande functie eigen breadcrumbs toevoegen aan je website.
/**
* Add custom breadcrumbs to your website.
*/
function wpsimpel_breadcrumbs() {
echo '<ul id="crumbs">';
if (!is_home()) {
echo '<li><a href="';
echo get_option('home');
echo '">';
echo 'Home';
echo "</a></li>";
if (is_category() || is_single()) {
echo '<li>';
the_category(' </li><li> ');
if (is_single()) {
echo "</li><li>";
the_title();
echo '</li>';
}
elseif (is_page()) {
echo '<li>';
echo the_title();
echo '</li>';
}
elseif (is_tag()) {single_tag_title();}
elseif (is_day()) {echo"<li>Archive for "; the_time('F jS, Y'); echo'</li>';}
elseif (is_month()) {echo"<li>Archive for "; the_time('F, Y'); echo'</li>';}
elseif (is_year()) {echo"<li>Archive for "; the_time('Y'); echo'</li>';}
elseif (is_author()) {echo"<li>Author Archive"; echo'</li>';}
elseif (isset($_GET['paged']) && !empty($_GET['paged'])) {echo "<li>Blog Archives"; echo'</li>';}
elseif (is_search()) {echo"<li>Search Results"; echo'</li>';}
echo '</ul>';
}
Voeg vervolgens onderstaande template tag toe aan header.php
in je thema.
<?php wpsimpel_breadcrumbs(); ?>