Wil je een extra tabblad bij een WooCommerce product toevoegen? Dit kan met een WordPress plugin uiteraard. Maar met een paar regels code in je functions.php is het ook opgelost.

Tab toevoegen WooCommerce product

Om een tab toe te voegen kun je gebruik maken van de woocommerce_product_tabs filter hook voor WooCommerce.

add_filter( 'woocommerce_product_tabs', 'custompft_add_tabs' );

/**
 *
 * Custom product tab toevoegen.
 *
 */
function lmpr_add_tabs( $tabs ) {
	$tabs['lmpr_content'] = array(
		'title'    => __( 'NAAM TAB', 'text-domain' ),
		'priority' => 50,
		'callback' => 'lmpr_tab_content',
	);

	return $tabs;
}

/**
 * Tab content.
 */
function lmpr_tab_content() {
	$lmpr_content = get_post_meta( get_the_ID(), '_lmpr_product_lmpr_content', true );
?>
	

Als je een WooCommerce webshop hebt kan het zijn dat je op verschillende plaatsen bijvoorbeeld producten wilt tonen. Dit kunnen producten zijn met een tag, uit een bepaalde productcategorie of met een specifieke attribuut of kleur.

WooCommerce shortcodes voordelen

Shortcodes maken het mogelijk om snel producten, categorieën, winkelwagens, en meer toe te voegen aan je website. Ze besparen tijd en moeite omdat je geen ingewikkelde code hoeft te schrijven. Shortcodes zijn flexibel en aanpasbaar, wat betekent dat je de lay-out en presentatie van je inhoud kunt afstemmen op de behoeften van je webshop. Bovendien zijn ze eenvoudig te gebruiken en integreren ze goed met verschillende thema’s en plugins.

Nadelen van WooCommerce shortcodes

Een van de nadelen is dat WooCommerce shortcodes soms beperkend kunnen zijn in termen van aanpassingsmogelijkheden. Voor zeer specifieke of complexe aanpassingen kan het nodig zijn om extra code of een WordPress plugin te gebruiken. Daarnaast kunnen te veel shortcodes op een pagina de laadtijd beïnvloeden, wat kan leiden tot een minder optimale gebruikerservaring. Het is ook belangrijk om ervoor te zorgen dat je thema en plugins up-to-date zijn om compatibiliteitsproblemen te voorkomen.

Meer over WooCommerce shortcodes inclusief praktische voorbeelden vind je in dit artikel.

Er zijn twee manieren om in de WooCommerce checkout een veld toe te voegen. De makkelijke optie is de no-code oplossing van een plugin. En verder in dit artikel vind je de uitleg hoe je dit kunt doen zonder een plugin.

No-code oplossingen

Je kunt eenvoudig aangepaste afrekenvelden toevoegen met gratis plugins zoals:

Code oplossingen

Om afrekenvelden aan te passen zonder WordPress plugin, gebruik je de filterhook woocommerce_checkout_fields. Deze hook is gedefinieerd in woocommerce/includes/class-wc-checkout.php:300 en bevat slechts één parameter.

Elk veld moet een array zijn en bevat enkele sleutels zoals:

  • label: Tekst die als label van het veld wordt weergegeven
  • id: Unieke id
  • priority: Nummer voor de volgorde van weergave
  • type: Type invoerveld (tekst, nummer, select, checkbox)
  • class: Klassen voor styling (bijv. form-row-wide, form-row-first)
  • required: Boolean waarde, veld vereist of niet
  • description: Informatie na het invoerveld
  • custom_attributes: Extra HTML-attributen als key-value paren

Tekstveld in de WooCommerce checkout

add_filter( 'woocommerce_checkout_fields', 'change_checkout_fields' );

function change_checkout_fields( $fields ) {
	$fields['billing']['custom_field_license'] = array(
		'label'       => __( 'License Code', 'custom-text-domain' ),
		'class'       => array( 'form-row-wide' ),
		'required'    => true,
		'placeholder' => __( 'Please insert license code', 'custom-text-domain' ),
		'id'          => 'custom_field_license',
		'priority'    => 40,
	);
	return $fields;
}


WC Custom checkout text

 

Nummer veld in de WooCommerce checkout

$fields['billing']['custom_randon_value'] = array(
 'type'              => 'number',
 'label'             => __( 'Random Number', 'custom-text-domain' ),
 'required'          => true,
 'class'             => array( 'form-row-wide' ),
 'description'       => __( 
 'Please insert random number (1-25)', 'custom-text-domain' ),
 'custom_attributes' => array(
 'min' => 1,
 'max' => 25,
 ),
 'id'                => 'custom_randon_value',
 'priority'          => 40,
 );

Selectieveld in de WooCommerce checkout

$fields['billing']['custom_field_license_type'] = array(
 'type'        => 'select',
 'class'       => array( 'form-row-wide' ),
 'input_class' => array( 'country_select' ),
 'label'       => __( 'License Type', 'custom-text-domain' ),
 'required'    => true,
 'placeholder' => __( 'Please choose license type', 'custom-text-domain' ),
 'options'     => array(
 'basic'      => __( 'Basic', 'custom-text-domain' ),
 'enterprise' => __( 'Enterprise', 'custom-text-domain' ),
 ),
 'id'          => 'custom_field_license_type',
 'priority'    => 41,
 );

Extra velden WooCommerce checkout opslaan

Voeg deze code toe in de functions.php van je WordPress thema of de Code Snippets plugin.

add_action( 'woocommerce_checkout_update_order_meta', 'save_data' );

function save_data( $order_id ) {

	if ( ! isset( $_POST['custom_field_license'] ) ) {
		return;
	}

	$license = sanitize_text_field( $_POST['custom_field_license'] );
	update_post_meta( $order_id, '_order_custom_license', $license );
}

Extra velden WooCommerce bestelling zichtbaar maken

Voeg deze code toe in de functions.php van je WordPress thema of de Code Snippets plugin.

add_action( 
 'woocommerce_admin_order_data_after_billing_address', 
 'display_custom_data' 
);  function display_custom_data( $order ) {
 $license = $order->get_meta( '_order_custom_license', true );
 ?>
:


<?php }

Wat is Google reCAPTCHA?

reCAPTCHA is een beveiligingsdienst die door Google is ontwikkeld om te bepalen of een gebruiker een mens of een bot is. Het helpt websites te beschermen tegen spam en misbruik door geautomatiseerde software te blokkeren. reCAPTCHA analyseert gebruikersgedrag en verschillende signalen om vast te stellen of de interactie legitiem is.

reCAPTCHA v2 en v3

reCAPTCHA v2

Deze versie vraagt gebruikers om een specifieke taak uit te voeren, zoals het aanklikken van afbeeldingen die aan bepaalde criteria voldoen of het aanvinken van een “Ik ben geen robot”-vakje. Dit vereist directe interactie van de gebruiker om de menselijke aanwezigheid te bevestigen.

reCAPTCHA v3

De reCAPTCHA v3 versie, gelanceerd op 29 oktober 2018, verbetert de gebruikerservaring door het elimineren van interactieve uitdagingen zoals het klikken op afbeeldingen of selectievakjes. In plaats daarvan werkt reCAPTCHA v3 op de achtergrond, waar het gebruikersgedrag analyseert en een score tussen 0,0 en 1,0 toekent om de waarschijnlijkheid te bepalen dat een gebruiker menselijk is. Deze score helpt websitebeheerders bij het nemen van passende maatregelen, zoals het vereisen van extra verificatiestappen of het naadloos toestaan van toegang.

Deze versie werkt zonder gebruikersinteractie. Het analyseert het gedrag van de gebruiker op de achtergrond en geeft een score van 0,0 tot 1,0, waarbij een hogere score aangeeft dat de gebruiker waarschijnlijk menselijk is. Dit zorgt voor een naadloze gebruikerservaring zonder onderbrekingen.

reCAPTCHA-sleutels aanmaken

Om reCAPTCHA te integreren in je WordPress website, heb je twee sleutels nodig: een site-sleutel en een geheime sleutel. Deze sleutels worden door Google eenmalig na het aanmaken verstrekt en zijn essentieel voor de werking van reCAPTCHA op je website.

De stappen om aan de sleutels te komen zijn:

  1. Ga naar de reCAPTCHA-website: Bezoek de reCAPTCHA-website en klik op de knop “Admin Console” om je aan te melden bij je Google-account.
  2. Registreer je website: Eenmaal ingelogd, zie je een formulier om je website te registreren. Vul de volgende gegevens in:
    • Label: Geef een naam aan je reCAPTCHA (bijvoorbeeld “Lamper Design reCAPTCHA”).
    • reCAPTCHA-type: Kies tussen reCAPTCHA v3, reCAPTCHA v2 (“I’m not a robot” Checkbox) of een andere versie afhankelijk van je behoefte.
    • Domeinen: Voeg de domeinen toe waarop je reCAPTCHA wilt gebruiken. Dit kunnen meerdere domeinen zijn.
    • E-mailadressen: Voeg extra eigenaars toe als je wilt dat anderen ook toegang hebben tot de reCAPTCHA-instellingen.
  3. Accepteer de servicevoorwaarden: Vink het vakje aan om akkoord te gaan met de reCAPTCHA-servicevoorwaarden.
  4. Verzenden: Klik op de knop “Verzenden” om de registratie te voltooien.
  5. Krijg je sleutels: Na succesvolle registratie ontvang je een site-sleutel en een geheime sleutel. Deze sleutels worden weergegeven op de volgende pagina.
  6. Implementeer reCAPTCHA op je website:
    • Site-sleutel: Voeg deze sleutel toe aan de HTML-code van je website waar je reCAPTCHA wilt weergeven.
    • Geheime sleutel: Gebruik deze sleutel in je server-side code om de reCAPTCHA-respons te verifiëren.

Voor gedetailleerde instructies over het implementeren van reCAPTCHA in verschillende programmeertalen en platforms, kun je de officiële documentatie van Google raadplegen.

Als je een WordPress website hebt dan heb je een aantal zaken nodig om deze zichtbaar te maken voor het grote publiek. Dit zijn in ieder geval:

  1. Een hosting pakket op een server bij een hosting provider;
  2. Een domeinnaam.

Het hostingpakket moet gekoppeld zijn via DNS aan de domeinnaam. Je hoeft de domeinnaam niet te registreren bij dezelfde provider waar je ook je hostingpakket afneemt. Als voorbeeld, veel van onze klanten nemen een hostingpakket van ons af bij Kinsta en hebben hun domeinnaam in eigen beheer bij een andere provider. Via de DNS instellingen van het A-record kunnen wij hun domeinnaam laten verwijzen naar onze servers.

Als je wilt weten of een .nl domeinnaam nog vrij is dan kun je dit o.a. controleren bij de SIDN. Mocht een domeinnaam niet meer vrij zijn dan kun je hier vaak ook zien wie de registrant is.

Domeinnaam registreren

Wat heb je nodig om een domeinnaam te registreren? Dit is afhankelijk van de domeinnaam extensie die je kiest. In principe zijn er honderden providers beschikbaar waar je een domein kunt registeren. Wij registreren onze domeinen bij Xynta of Transip.

Domeinnaam kosten

Gemiddeld betaal je voor een .nl domeinnaam ongeveer tien euro per jaar. Een .shop domein bijvoorbeeld kan wel vijfentwintig euro per jaar kosten. Per domein extensie verschilt dit dus. Let hierop wat je nodig hebt.

De Perfmatters plugin is ontwikkeld met eenvoud in gedachten. Geen gedoe met code of je functions.php bestand. Prestatie-optimalisaties hoeven niet ingewikkeld te zijn en daarom kan alles met één klik worden in- of uitgeschakeld.

PerfmattersDe belangrijkste manier waarop deze plugin helpt om je WordPress website te versnellen, is door scripts uit te schakelen die mogelijk niet op je website worden gebruikt. Bijvoorbeeld, standaard laden emoji’s op elke pagina van je website. Als je ze niet gebruikt, vertraagt dit je site onnodig. Door ze uit te schakelen, wordt het script niet langer geladen, wat het totale aantal HTTP-verzoeken en de paginagrootte vermindert.

WordPress database optimaliseren

Een andere nuttige functie is onze database-optimalisatie. Na verloop van tijd beginnen dingen zoals revisies, automatische concepten, spamreacties en transients je database te vullen en voor je het weet, beïnvloedt dit de prestaties van je site. Met de Perfmatters plugin kun je deze eenvoudig opschonen en zelfs limieten instellen om te voorkomen dat het opnieuw gebeurt. Dit zorgt voor een snelle en responsieve database.

Perfmatters opties

Veel van de opties van Perfmatters kunnen eenvoudig worden toegepast door ze in te schakelen. Hier is een kort overzicht van enkele aanbevelingen:

PerfmattersSchakel emoji’s, embeds en dashicons uit

Schakel onnodige scripts en assets uit die je mogelijk niet gebruikt op je site, zoals emoji’s, embeds, dashicons, enz.

Schakel revisies uit of beperk deze

Schakel de post revisies uit of beperk het aantal revisies dat WordPress opslaat om te voorkomen dat je database oncontroleerbaar groeit.

Verander het autosave-interval

Houd minder auto-concepten door het autosave-interval te wijzigen. Dit vermindert ook de irritante “er is een recentere versie” waarschuwing.

Schakel de Heartbeat API uit en pas deze aan

Heartbeat kan een hoge CPU-belasting veroorzaken en een groot aantal AJAX-oproepen genereren. Je kunt Heartbeat uitschakelen en ook de frequentie wijzigen.

Schakel reacties en URL’s uit

Geen blog? Schakel reacties site-wide uit om spam te verminderen, of verwijder auteur reactie-links om te voorkomen dat mensen alleen een backlink proberen te krijgen.

Schakel Google Maps uit

Google Maps kan de prestaties van je site negatief beïnvloeden. Je kunt Google Maps selectief uitschakelen en het alleen laden waar je het nodig hebt.

Schakel WooCommerce winkelwagenfragmenten (AJAX) uit

De wc-ajax=get_refreshed_fragments verzoeken kunnen enorme vertragingen veroorzaken op WooCommerce-sites. Schakel winkelwagenfragmenten op je site uit.

Dit is slechts een deel van de opties. Wij als WordPress agency zijn erg blij met de resultaten die we krijgen als we PerfMatters gebruiken op een project.

Perfmatters.io website bezoeken

Met de Imsanity WordPress plugin kun je automatisch grote afbeeldingsuploads resizen in je website of webshop. Kies de gewenste grootte en kwaliteit, en laat Imsanity de rest doen. Wanneer een gebruiker een afbeelding uploadt die groter is dan de geconfigureerde grootte, zal Imsanity deze automatisch verkleinen tot de ingestelde grootte en het origineel vervangen. De makers van de plugin zijn ook de makers van de EWWW Image Optimizer plugin.

Imsanity plugin

Imsanity biedt ook een bulk-resize functie om eerder geüploade afbeeldingen te verkleinen en schijfruimte vrij te maken. Je kunt individuele afbeeldingen resizen vanuit de lijstweergave in de Mediabibliotheek.

Imsanity

Deze gratis WordPress plugin is ideaal voor blogs die geen hoge resolutie originele afbeeldingen hoeven op te slaan en/of voor bijdragers die niet willen (of niet weten hoe) afbeeldingen te verkleinen voordat ze worden geüpload.

Wat kun je met Imsanity?

  • Automatisch schalen van grote afbeeldingsuploads naar een meer “optimale” grootte.
  • Bulk-resize functie om bestaande afbeeldingen te verkleinen.
  • Selectief afbeeldingen resizen direct in de Mediabibliotheek (Lijstweergave).
  • Mogelijkheid om maximale breedte/hoogte en JPG-kwaliteit in te stellen.
  • Optioneel om BMP- en PNG-bestanden om te zetten naar JPG voor meer besparing.
  • Zodra ingeschakeld, vereist Imsanity geen acties van de gebruiker.
  • Gebruikt de ingebouwde afbeeldingsschalingsfuncties van WordPress.

Het optimaliseren van afbeeldingen is van belang voor de website snelheid en de laadtijd dus pak deze gratis kans!

Typekit, nu bekend als Adobe Fonts, is een betaalde dienst van Adobe waarmee je toegang krijgt tot een uitgebreide bibliotheek van hoogwaardige lettertypen. Deze lettertypen kunnen gemakkelijk worden geïntegreerd in je WordPress website om het ontwerp en de typografie te verbeteren.

Typekit gebruiken in WordPress

Met Adobe Fonts kun je kiezen uit duizenden lettertypen, waardoor je een consistente en professionele uitstraling kunt geven aan je website. Je hebt de mogelijkheid om verschillende lettertypen te gebruiken voor koppen, body-tekst, knoppen, en meer, waardoor je ontwerp uniek en aantrekkelijk wordt.

Custom Adobe Fonts (Typekit)

Adobe Fonts biedt eenvoudige integratie met WordPress. Nadat je een abonnement hebt op Adobe Fonts, kun je de gewenste lettertypen selecteren en deze via een API-sleutel in je WordPress website implementeren. Door gebruik te maken van professionele lettertypen, kun je de leesbaarheid en gebruikerservaring (UX) van je website aanzienlijk verbeteren. Goede typografie zorgt ervoor dat de inhoud van je website duidelijk en aangenaam te lezen is, wat de betrokkenheid van gebruikers kan verhogen.

Hoewel de directe impact van lettertypen op SEO beperkt is, kunnen betere leesbaarheid en een verbeterde gebruikerservaring indirect bijdragen aan lagere bounce rates en hogere tijd op de site, wat weer gunstig kan zijn voor je SEO.

Adobe Fonts in WordPress?

  1. Aanmelden en selecteren: Meld je aan bij Adobe Fonts en selecteer de lettertypen die je wilt gebruiken op je website. Voeg deze lettertypen toe aan een webproject.
  2. API-sleutel: Ga naar je Adobe Fonts-accountinstellingen en verkrijg de API-sleutel voor het geselecteerde webproject.
  3. Plugin installeren: In WordPress kun je een plugin zoals “Adobe Fonts (Typekit)” installeren en activeren. Deze WordPress plugin maakt het eenvoudig om Adobe Fonts te integreren zonder code te hoeven schrijven.
  4. Instellen van de API-sleutel: Ga naar de instellingen van de plugin in je WordPress dashboard en voer de API-sleutel in. De plugin zal dan automatisch de geselecteerde lettertypen laden.
  5. Lettertypen toepassen: Gebruik de Customizer in WordPress of de instellingen van je thema om de nieuwe lettertypen toe te passen op verschillende elementen van je website, zoals koppen, paragrafen en knoppen.

Je kunt een geordende lijst (ol) in HTML eenvoudig laten starten vanaf een ander nummer dan 1 door gebruik te maken van de start attributen in HTML of de counter-reset eigenschap in CSS. Hieronder leg ik beide methoden uit.

Methode 1: OL via HTML aanpassen

In HTML kun je het start attribuut gebruiken om het startnummer van een geordende lijst te specificeren:

<ol start="5">
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ol>

Deze code zorgt ervoor dat de lijst begint bij nummer 5.

Methode 2: CSS counter-reset list

In CSS kun je de counter-reset eigenschap gebruiken om een lijst op een ander nummer te laten beginnen. Dit doe je door de counter voor de geordende lijst opnieuw in te stellen. Hier is een voorbeeld:

<ol class="custom-start">
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ol>

En deze CSS heb je nodig in je stylesheet.

.custom-start {
counter-reset: list-counter 4; /* 4 betekent dat de lijst zal beginnen bij 5 */
}

.custom-start li {
counter-increment: list-counter;
}

.custom-start li::before {
content: counter(list-counter) ". ";
}

In deze CSS-code

  • counter-reset: list-counter 4; – Hiermee reset je de teller voor de lijst en start je deze bij 4. Omdat de teller vóór het eerste item wordt geïncrementeerd, zal het eerste item 5 zijn.
  • counter-increment: list-counter; – Dit zorgt ervoor dat de teller voor elk item in de lijst wordt verhoogd.
  • content: counter(list-counter) “. “; – Hiermee voeg je de tellerwaarde toe vóór elk lijstitem, gevolgd door een punt en een spatie.

Je kunt het startnummer van een geordende lijst in HTML eenvoudig aanpassen door het start attribuut te gebruiken. Voor meer geavanceerde styling en flexibiliteit kun je de counter-reset eigenschap in CSS gebruiken. Beide methoden geven je de mogelijkheid om je lijsten precies zo te nummeren als je wilt.