Het functions.php bestand dat in vrijwel ieder thema zit ingebakken werkt hetzelfde als een plugin; je hebt de mogelijkheid om functies aan je WordPress-website toe te voegen, op dezelfde manier als een plugin dat doet.
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.
functions.php of plugin?
Inhoud
Het nadeel van het toevoegen van code snippets aan het functions.php-bestand van je thema is dat wanneer je van thema wisselt, deze functies niet meer werken. Daarom kan het nuttiger zijn om een eigen WordPress-plugin te maken, die ook blijft werken wanneer je van thema wisselt.
Waar vind ik het functions.php-bestand?
De snippets in dit artikel zijn bedoeld voor in het functions.php-bestand van je thema. Dit bestand vind je op de volgende locatie:
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.
/wp-content/themes/themanaam/functions.php
Het stukje “themanaam” vervang je uiteraard door de naam of locatie van jouw thema.
Je kunt het functions.php-bestand vaak ook direct bewerken door naar Weergave > Bewerker te gaan en in de rechter balk op functions.php te klikken.
Hacks voor in het functions.php-bestand
Hier volgt een aantal handige stukjes code voor in het functions.php-bestand.
WordPress versienummer verwijderen uit de broncode
Om je WordPress-website veilig te houden, is het handig om het versienummer uit de broncode te verwijderen. Zo zien hackers niet welke versie van WordPress je gebruikt. Je wilt niet dat ze dit zien, omdat iedere (verouderde) versie zijn mankementen heeft. Op deze manier zorg je ervoor dat ze in ieder geval niet kunnen zien welke versie je gebruikt. Om dit te doen, voeg je het volgende stukje code toe aan je functions.php-bestand:
function wpbeginner_remove_version() { return ''; } add_filter('the_generator', 'wpbeginner_remove_version');
Twitter-usernames automatisch linken naar Twitter-profiel
Met het volgende stukje code zorg je ervoor dat Twitter-gebruikersnamen automatisch naar het bijbehorende Twitter-profiel linken. Wanneer je bijvoorbeeld @Wouter_Postma intikt, zal deze code er automatisch @Wouter_Postma van maken.
function content_twitter_mention($content) { return preg_replace('/([^a-zA-Z0-9-_&])@([0-9a-zA-Z_]+)/', "$1<a href=\"http://twitter.com/$2\" target=\"_blank\" rel=\"nofollow\">@$2</a>", $content); } add_filter('the_content', 'content_twitter_mention'); add_filter('comment_text', 'content_twitter_mention');
Thema’s alleen laten wijzigen door de super-admin
Wanneer je een WordPress-website hebt met veel admin-accounts, kan het zo zijn dat je niet wilt dat zij allemaal toegang hebben tot het Thema’s-menu. Om ervoor te zorgen dat alleen de echte “admin” toegang heeft, voeg je het volgende stukje code toe.
add_action('admin_init', 'disable_changing_theme_for_non_admin'); function disable_changing_theme_for_non_admin() { global $submenu, $userdata; get_currentuserinfo(); if ($userdata->ID != 1) { unset($submenu['themes.php'][5]); } }
Uitgelichte afbeelding verplicht maken
Als het wel of niet hebben van een uitgelichte afbeelding bij een bericht op je WordPress-website van belang is, kun je met het onderstaande stukje zorgen dat een uitgelichte afbeelding verplicht wordt. Zo is het onmogelijk om een bericht te publiceren zonder uitgelichte afbeelding.
add_action('save_post', 'wpds_check_thumbnail'); add_action('admin_notices', 'wpds_thumbnail_error'); function wpds_check_thumbnail($post_id) { // change to any custom post type if(get_post_type($post_id) != 'post') return; if ( !has_post_thumbnail( $post_id ) ) { // set a transient to show the users an admin message set_transient( "has_post_thumbnail", "no" ); // unhook this function so it doesn't loop infinitely remove_action('save_post', 'wpds_check_thumbnail'); // update the post set it to draft wp_update_post(array('ID' => $post_id, 'post_status' => 'draft')); add_action('save_post', 'wpds_check_thumbnail'); } else { delete_transient( "has_post_thumbnail" ); } } function wpds_thumbnail_error() { // check if the transient is set, and display the error message if ( get_transient( "has_post_thumbnail" ) == "no" ) { echo "<div id='message' class='error'><p><strong>You must select Featured Image. Your Post is saved but it can not be published.</strong></p></div>"; delete_transient( "has_post_thumbnail" ); } }
Andere URL voor auteur-archieven
Standaard heeft WordPress de volgende URL voor archieven van auteurs:
http://www.domeinnaam.nl/author/gebruikersnaam/
Met het onderstaande stukje code kun je “author” veranderen in “auteur”. Ook iets anders dan “auteur” is natuurlijk mogelijk.
add_action('init', 'cng_author_base'); function cng_author_base() { global $wp_rewrite; $author_slug = 'auteur'; $wp_rewrite->author_base = $author_slug; }
Meer over het functions.php-bestand?
Meer over het functions.php-bestand lees je hier: functions.php.
Reageer