Betalingen via Mollie komen niet door (versie 8.0 Mollie plugin) > The ‘imageUrl’ field should be a valid URL

Meerdere klanten namen contact met ons op dat  betalingen via Mollie niet meer doorkwamen. Het vreemde hierbij was dat het soms wel goed ging, maar vaak ook niet. Wij gingen op onderzoek uit. In de Log bestanden vonden we een foutcode: Error executing API call (422: Unprocessable Entity): Order line 1 is invalid. The ‘imageUrl’ field should be a valid URL. Documentation: https://docs.mollie.com/overview/handling-errors. Request body: {“status”:422,”title”:”Unprocessable Entity”,”detail”:”Order line 1 is invalid. The ‘imageUrl’ field should be a valid URL”,”field”:”lines.1.imageUrl”,”_links”:{“documentation”:{“href”:”https://docs.mollie.com/overview/handling-errors”,”type”:”text/html”}}}. Field: lines.1.imageUrl.

Let hierbij even op de rode tekst. Dit deed ons direct vermoeden dat het te maken had met de afbeeldingen. We gingen de orders waarbij de betalingen wel goed gingen vergelijken met de orders waarbij de foutmeldingen niet goed gingen. En wat bleek, bij de orders waarbij de betalingen niet goed gingen hadden sommige producten in die orders zgn. ‘speciale tekens’ in de product afbeelding url staan.

Het vervelende hierbij was, dat dit nooit een probleem was totdat Mollie deze update (8.0) uitbracht. Navraag van klanten bij Mollie zelf hielp ook niet, want zij gaven aan dat al hun systemen in orde waren. Gelukkig konden we in dit geval het probleem van de klant vrij snel ‘pinpointen’ en verhielp een simpele back-roll van de plugin naar versie 7.1 het probleem. Een alternatieve oplossing zou zijn alle speciale tekens uit de afbeelding url’s verwijderen. Maar gezien enkele van onze klanten meerdere duizenden afbeeldingen hebben was dit geen optie. Hopelijk verhelpt mollie het probleem snel met een nieuwe update. Tot die tijd, even met de oude versie blijven werken dus! Loop jij ook tegen dit probleem aan en weet je niet hoe je een oude versie van de Mollie plugin moet installeren neem dan gerust even contact met ons op, dan helpen we je verder.

 

Geplaatst in de categorie: Blog

Hoe maak ik van mijn WordPress site een WordPress Multisite?

Het omzetten van een bestaande WordPress-installatie naar een multisite-netwerk is vrij eenvoudig, maar er zijn enkele stappen die je moet volgen. Laten we beginnen:

wp-config.php aanpassen voor Multisite-ondersteuning

Begin met het bewerken van het lokale wp-config.php-bestand van je installatie. Dit kun je direct doen via de Bestandsbeheerder door naar de installatiemap te gaan, het bestand wp-config.php te selecteren en op ‘bewerken’ te klikken.

Voeg de volgende regels toe boven de regel die begint met “require_once(“:

/* Multisite */
define('WP_ALLOW_MULTISITE', true);

Sla de wijzigingen op. Houd dit venster open; we komen hier later op terug.

Plugins deactiveren en netwerk aanmaken

Log in op je WordPress-dashboard en deactiveer alle plugins. Deze kunnen opnieuw geactiveerd worden nadat de multisite is ingesteld.

Ga naar ‘Gereedschap’ > ‘Netwerkinstallatie’.

Pas de Netwerktitel en het Beheerders-e-mailadres aan indien nodig en klik op ‘Installeren’. Je krijgt vervolgens een set instructies die je moet volgen.

.htaccess en wp-config.php bewerken

Ga terug naar het bewerkingsvenster van je wp-config.php-bestand. Voeg de volgende code toe boven de regel die zegt: “/* Dat is alles, stop met bewerken! Veel plezier met bloggen. */”. Vervang ‘jouwdomein.com’ door je eigen domein:

define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', 'jouwdomein.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

Sla de wijzigingen op.

Nu gaan we het lokale .htaccess-bestand bewerken. Dit bestand is vaak verborgen in je Bestandsbeheerder. Als je het niet ziet, ga dan naar ‘Instellingen’ in de rechterbovenhoek, vink ‘Verborgen bestanden tonen’ aan en sla op.

Open het .htaccess-bestand in de betreffende map van je domein en vervang alle bestaande WordPress-regels door de volgende code:

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# Voeg een slash toe aan /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]

Sla de wijzigingen op.

Een wildcard-subdomein toevoegen

In een standaard WordPress-installatie moet je voor elke nieuwe site een subdomein of addon-domein aanmaken. Met een WordPress Multisite kun je echter direct vanuit het dashboard nieuwe sites creëren zonder extra stappen in cPanel. Om dit mogelijk te maken, moet je een wildcard-subdomein instellen.

Houd er rekening mee dat wildcard SSL-certificaten alleen werken op gedeelde hosting als het domein de nameservers van je hostingprovider gebruikt.

Ga in cPanel naar het gedeelte ‘Domeinen’ en klik op ‘Subdomeinen’.

  1. Typ een asterisk (*) in het subdomeinveld.
  2. Selecteer je domein uit het dropdown-menu.
  3. Wijzig de document root zodat deze overeenkomt met de map van je hoofddomein.
  4. Klik op ‘Aanmaken’.

De laatste stap

We zijn er bijna! Log uit en vervolgens weer in op je WordPress Multisite. Activeer je plugins opnieuw. Alles zou nu klaar moeten zijn!

Voor meer gedetailleerde informatie en ondersteuning kun je terecht op de officiĂ«le WordPress-documentatie of de ondersteuningspagina’s van je hostingprovider.

 

Geplaatst in de categorie: Blog

Euro teken verbergen/ weghalen in Woocommerce

Je ziet op veel grote webshops dat ze geen Euro teken meer gebruiken bij de prijzen. Een klant van ons wilde dit ook in Woocommerce zo. Alleen moet het Euro teken nog wel zichtbaar blijven in het winkelmandje en de checkout. Omdat het anders verwarrend is. Ook moeten het Euroteken weg bij de Vanaf prijzen.

We hebben dit mogelijk gemaakt dmv. een Snippet. Hieronder staat de Snippet, je kunt deze kopieren en implementeren in je eigen Woocommerce webshop dmv. de Code Snippets plugin.

/**
* De functie verwijdert of vervangt het valutasymbool in WooCommerce. Het controleert of de gebruiker zich op de winkelwagenpagina of de afrekenpagina bevindt en past op basis daarvan de weergave van het valutasymbool aan.
**/
function hak_remove_wc_currency_symbol( $currency_symbol, $currency ) {

// Standaard wordt het valutasymbool leeggemaakt.
$currency_symbol = ”;

// Controleert of de gebruiker zich op de winkelwagen- of afrekenpagina bevindt.
if ( is_cart() || is_checkout() ) {

// Als dat zo is, stel het valutasymbool in op het Euro-teken.
$currency_symbol = ‘€’;
}

// Geeft het mogelijk aangepaste valutasymbool terug.
return $currency_symbol;
}

// Voegt de functie toe aan de ‘woocommerce_currency_symbol’ filterhook.
add_filter(‘woocommerce_currency_symbol’, ‘lmpr_remove_wc_currency_symbol’, 10, 2);

Geplaatst in de categorie: Blog

Filter attributen van Woocommerce ook laten cachen door WP Rocket

We hebben een klant die ontzettend veel attributen gebruikt in Woocommerce. Alle pagina’s worden dmv. WP Rocket gecached voor deze klant zodat ze lekker snel inladen. Maarrr, we kwamen erachter dat zodra je filtert op een attribuut. Bijv. een merk. Dat die betreffende pagina dan niet in de cache van WP Rocket wordt weggeschreven. Zonde, want in dit geval had de klant bijna 100 verschillende attributen om op te filteren. Met elk een x aantal filterwaarden maakt dat ontelbaar veel pagina’s die niet gecached werden. Wat ook weer zorgt voor onnodig veel extra server load.

Wat we gedaan hebben om dit op te lossen is WP Rocket zo in te stellen dat hij deze filterwaarden (zgn. Cache Query Strings) ook voortaan wegschrijft in het cache geheugen. Dat kan dmv. alle attributen toe te voegen aan het hiervoor bestemde veld in de WP Rocket configuratie. Zie screenshot hoe dit werkt. Doe er je voordeel mee!

Geplaatst in de categorie: Blog