wpsimpel WordPress tutorials, tips, code-snippets, en handleidingen
  • Blog
    Tutorials28 PostsCode snippets23 PostsWooCommerce11 PostsWordPress plugins3 PostsWordPress thema’s3 PostsWordPress algemeen13 PostsWordPress SEO4 PostsOnderhoud en beveiliging4 PostsProblemen oplossen4 PostsOverig1 Post
  • SeriesNieuw
  • Over wpsimpel
  • Contact
  • WP hulp nodig?
  • Deel dit

    Delen = ❤️

    • Deel op Twitter
    • Deel op Facebook
    • Deel op WhatsApp
    • Deel via e-mail
    • Kopieer link
  • Zoek naar...

    Waar ben je naar opzoek?

    • Plugins
    • Thema’s
    • WooCommerce
    • Code snippets
    • GDPR/AVG
    • Contact
    • Persoonlijke WordPress hulp
Je leest: 5 Handige WordPress code snippets, juli 2019
Reageer
Home / Blog / Code snippets / 5 Handige WordPress code snippets, juli 2019

5 Handige WordPress code snippets, juli 2019

Door Justin Picard
Laatst bijgewerkt
27 mei 2020
Leestijd5 minuten
0 reacties

Delen = ❤️

  • Deel op Twitter
  • Deel op Facebook
  • Deel op WhatsApp
  • Deel via e-mail
  • Kopieer link
wpsimpel code snippets
Dit is post 4 van 8 in de serie Handige WordPress code snippets
Bekijk alle posts in deze serie
  1. 5 Handige WordPress code snippets, april 2019
  2. 5 Handige WordPress code snippets, mei 2019
  3. 5 Handige WordPress code snippets, juni 2019
  4. 5 Handige WordPress code snippets, juli 2019
  5. 5 Handige WordPress code snippets, augustus 2019
  6. 5 Handige WordPress code snippets, september 2019
  7. 5 Handige WordPress code snippets, oktober 2019
  8. 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 code snippets op de juiste manier toevoegt aan je website.
Lees hier hoe je een site specifieke plugin maakt.

1. Een custom post type maken

WordPress heeft zich in de loop der jaren ontwikkeld van een blog-platform tot een volwaardig website Content Management Systeem. Standaard komt WordPress o.a. met de content-types ‘Posts’ en ‘Pagina’s’. Je kan echter zelf ook allerlei soorten content-types toevoegen, zoals ‘Projecten’, ‘Producten’, ‘Locaties’, ‘Evenementen’ etc.

Custom post types maken als een pro? Lees dan: Eigen custom post types maken in WordPress zonder plugin

In onderstaande code snippet wordt de custom post type ‘Events’ gemaakt. Je kan ‘Projecten’ natuurlijk vervangen door een content-type naar keuze.

/**
 * Add 'event' custom post type.
 */
add_action( 'init', 'wpsimpel_event_custom_post_type' );

function wpsimpel_event_custom_post_type() {
	
	// Define the labels for your custom post type
	$labels = array(
		'name'                => _x( 'Events', 'Post Type General Name', 'your-text-domain' ),
		'singular_name'       => _x( 'Event', 'Post Type Singular Name', 'your-text-domain' ),
		'menu_name'           => __( 'Event', 'your-text-domain' ),
		'parent_item_colon'   => __( 'Parent Event:', 'your-text-domain' ),
		'all_items'           => __( 'All Events', 'your-text-domain' ),
		'view_item'           => __( 'View Event', 'your-text-domain' ),
		'add_new_item'        => __( 'Add New Event', 'your-text-domain' ),
		'add_new'             => __( 'Add New', 'your-text-domain' ),
		'edit_item'           => __( 'Edit Event', 'your-text-domain' ),
		'update_item'         => __( 'Update Event', 'your-text-domain' ),
		'search_items'        => __( 'Search Event', 'your-text-domain' ),
		'not_found'           => __( 'Not found', 'your-text-domain' ),
		'not_found_in_trash'  => __( 'Not found in Trash', 'your-text-domain' ),
	);

	// Define the arguments for your custom post type
	$args = array(
		'labels'                => $labels,
		'description'           => __( 'Post Type for events', 'your-text-domain' ),
		'supports'              => array( 'title', 'editor', 'author', 'thumbnail', 'comments', 'custom-fields', ),
		'taxonomies'            => array( 'event-type' ),
		'hierarchical'          => false,
		'public'                => true,
		'show_ui'               => true,
		'show_in_menu'          => true,
		'show_in_nav_menus'     => true,
		'show_in_admin_bar'     => true,
		'menu_position'         => 5,
		'menu_icon'             => 'dashicons-calendar-alt',
		'can_export'            => true,
		'has_archive'           => true,
		'exclude_from_search'   => false,
		'publicly_queryable'    => true,
		'capability_type'       => 'page',
		'rewrite'               => array( 'slug' => __( 'agenda', 'your-text-domain' ),
 		'show_in_rest'          => true
	);
	
	// Register your custom post type
	register_post_type( 'wpsimpel_event', $args );
}

Wil je meer weten over wat de verschillende argumenten en hun waardes inhouden? Lees dan dit Codex artikel op WordPress.org

2. De URL van de ‘Uitgelichte afbeelding’ verkrijgen

In het eerste deel van dit artikel wordt uitgelegd hoe je uitgelichte afbeeldingen aan je thema kan toevoegen met the_post_thumbnail();. Maar wat nou als je enkel de URL van de uitgelichte afbeelding nodig hebt, om deze bijvoorbeeld als achtergrondafbeelding (background-image) in te stellen?

Plaats onderstaande code snippet in de loop van je thema (bijvoorbeeld in index.php) om de URL te achterhalen en op te slaan in de variabele $thumb_url.

/**
 * Get the featured image URL.
 */
$thumb_id = get_post_thumbnail_id();
$thumb_url_array = wp_get_attachment_image_src($thumb_id, 'yourimagesize', true);
$thumb_url = $thumb_url_array[0];

$thumb_url kan je nu toevoegen aan de inline CSS van een html-element om deze te gebruiken als achtergrondafbeelding.

<!-- Add featured image as background-image -->
<div style="background-image:<?php $thumb_url; ?>;"></div>

3. De WordPress Admin balk op de voorkant van je website uitschakelen

De WordPress Admin balk is zowel op de voorkant als in het beheer van je website aanwezig. Deze balk bevat handige linkjes waarmee je snel bijvoorbeeld nieuwe berichten of pagina’s kan aanmaken. Wil je deze balk uitschakelen op de front-end (de “voorkant” die je bezoekers zien) van je website, gebruik dan onderstaande code snippet.

/**
 * Remove the admin bar from the front end
 */
add_filter( 'show_admin_bar', '__return_false' );

4. Categorie slug aan body_class toevoegen

De functie body_class is handig om bepaalde CSS classes toe te voegen aan de <body> tag, welke je bijvoorbeeld weer kan gebruiken voor styling doeleinden. Standaard wordt op single post pagina’s echter geen class toegevoegd voor de categorie(ën) van de huidige post.

/**
 * Add category 'slug' to body class.
 */
add_filter('body_class', 'add_category_slug');

function add_category_slug( $classes ) {

	if (is_single() ) {

		global $post;

		foreach((get_the_category($post->ID)) as $category) {
			
			// add category slug to the $classes array
  			$classes[] = $category->category_nicename;
		}
	}
	// return the $classes array
	return $classes;
}

5. Toegang in mediabibliotheek beperken tot de eigen uploads van een gebruiker

Standaard toont de mediabibliotheek van WordPress voor alle gebruikers/auteurs alle afbeeldingen die zijn geupload. Wanneer je een website hebt met meerdere gebruikers/auteurs kan het handig zijn om de weergave van de uploads te beperken tot de eigen uploads van de gebruiker/auteur.

/**
 * Limit access to media library (users can only see/select own media).
 */ 
add_filter( 'ajax_query_attachments_args', 'wpsimpel_show_current_user_attachments' );

function wpsimpel_show_current_user_attachments( $query ) {

 	$user_id = get_current_user_id();

	if ( $user_id && !current_user_can('activate_plugins') && !current_user_can('edit_others_posts')) {
		$query['author'] = $user_id;
	}
	return $query;
} 

Beoordeel deze post:

Gemiddeld: 0 / 5. Aantal beoordelingen: 0

Nog geen beoordelingen

Whoops! 😔

Zou je ons willen laten weten hoe we (deze post) kunnen verbeteren?

😢

Dus… je blokkeert advertenties

Het is je goedrecht advertenties te blokkeren. Het is tenslotte jouw browser.

Maar wij werken hard om deze site te onderhouden in onze vrije tijd, en daarom doen we ons best om je enkel relevante advertenties te tonen. Overweeg alsjeblieft om je adblocker uit te schakelen wanneer je deze site bezoekt. Herlaad vervolgens deze pagina om advertenties te tonen, of klik hier.

Superdankjewel! 🙌🏼

Vorige post: 5 Handige WordPress code snippets, juni 2019
Volgende post: 5 Handige WordPress code snippets, augustus 2019

Post tags:

  • body_class
  • custom post type
  • login pagina
  • mediabibliotheek
  • slug
  • thumbnail
  • uitgelichte afbeelding
  • wp-login
Justin Picard

Door Justin Picard

Meer door Justin »

Justin Picard is de bedenker en eigenaar van wpsimpel. Daarnaast ontwerpt en ontwikkelt hij met Dondr • Web & Design websites en WordPress plugins op maat.

Meer door Justin »
68 artikelen

Reacties

0 reacties op "5 Handige WordPress code snippets, juli 2019".

Geef een reactie Antwoord annuleren

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Bij het gebruiken van dit formulier ga je akkoord met het opslaan en verwerken van de door jou opgegeven gegevens door deze website, zoals aangegeven in onze privacy policy.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Gerelateerde posts

Code snippets, WooCommerce

‘Nul-decimalen’ van prijzen in WooCommerce verwijderen of vervangen

4 okt 2020
0
Code snippets, WordPress algemeen

“Beveiligd:” prefix verwijderen of aanpassen op met wachtwoord beveiligde pagina’s/posts

10 mei 2020
0
Code snippets, WordPress algemeen

Taxonomy terms weergeven als kommagescheiden lijst

2 mrt 2020
0
© 2021 wpsimpel
  • Disclaimer
  • Privacybeleid
  • Over wpsimpel
  • Feedback
  • Contact
wpsimpel is een website van Dondr • Web & Design

Deze website gebruikt cookies om je beter te kunnen helpen en de website te verbeteren. Je kan hier en in ons privacybeleid meer informatie vinden over welke cookies we gebruiken.

wpsimpel
Cookies & jouw privacy

Deze website gebruikt cookies om je de beste gebruikerservaring mogelijk te bieden. Cookie-informatie wordt opgeslagen in je browser en wordt gebruikt om je surfgedrag op onze site bij te houden, zodat wij deze kunnen gebruiken om onze site nog beter voor je te maken.

Je kan je cookie-instellingen wijzigingen in de tabbladen aan de linkerkant.

Analytische cookies

Google Analytics: Cookie om anonieme informatie zoals bezoekersaantallen en de meest populaire pagina's. Door deze cookies ingeschakeld te laten help je ons deze website te verbeteren.

Facebook Pixel: Cookie De Facebook-pixel is een analysehulpmiddel waarmee we de effectiviteit van advertenties kunnen meten en we inzicht kunnen krijgen in de acties die jij uitvoert op onze website.

Hotjar: Hotjar is een tool om beter inzicht te krijgen in de behoeften van onze gebruikers om zo de gebruikerservaring en service te kunnen verbeteren. We meten hiermee anoniem hoe gebruikers onze website ervaren, zoals hoe veel tijd ze op een pagina besteden, welke links ze juist wel of juist niet aanklikken, en wat ze wel of niet leuk vinden. Hotjar verzamelt deze data middels cookies en andere technologieën om data te verzamelen over het gedrag van gebruikers en hun apparaten. Dit omvat een IP-adres (opgeslagen tijdens je bezoek in een geanonimiseerde vorm), schermgrootte van het apparaat, type apparaat (unique device identifiers), browserinformatie, geografische locatie (enkel land) en de voorkeurstaal waarin onze website wordt getoond. Hotjar slaat deze informatie voor ons op in een "gepseudonimiseerd" gebruikersprofiel. Hotjar is contractueel verboden om data te verkopen die het dankzij ons verzamelt.

Please enable Strictly Necessary Cookies first so that we can save your preferences!

Privacy policy

Lees hier onze privacy policy.