Categorieën
E-commerce Gravity Forms iDEAL WooCommerce WordPress

Hoe kan ik Mollie koppelen aan WordPress of WooCommerce?

Het koppelen van Mollie aan WordPress of WooCommerce is goed mogelijk en er zijn verschillende oplossingen beschikbaar. Welke optie het beste is, hangt af van verschillende factoren. Wil je Mollie aan WordPress of WooCommerce koppelen? Hier vind je alle benodigde informatie.

Categorieën
PHP WordPress

Namespace in WordPress filter/action hooks

In februari stuitte ik op een bericht van Tanner Record waarin hij het gebruik van slashes in WordPress filter- en action-hooks voorstelde. Hij suggereert bijvoorbeeld de volgende conventie te volgen:

apply_filters( '{prefix}/{plugin}/{hook-name}', $data );

Gebruik in populaire WordPress plugins

Ik was een vergelijkbare notatie al wel tegen gekomen in populaire plugins zoals “Query Monitor” en “Advanced Custom Fields”:

Query Monitor

// Start the 'foo' timer:
do_action( 'qm/start', 'foo' );

// Run some code
my_potentially_slow_function();

// Stop the 'foo' timer:
do_action( 'qm/stop', 'foo' );

https://querymonitor.com/wordpress-debugging/profiling-and-logging

Advanced Custom Fields

add_action('acf/init', 'my_acf_init');

function my_acf_init() {
    // Get ACF version.
    $version = acf_get_setting('version');

    // Do something.  
}

Andere plugins

Mijn collega Reüel kwam nog met een reguliere expressie Github-zoekopdracht om het gebruik van deze notatie op te speuren in GitHub-repositories:

/do_action(\s['"]\w+\/\w+['"]\s(,.*?))/ language:PHP

Op basis hiervan heb ik al wel eens overwogen om een vergelijkbare notatie te introduceren in Pronamic-plugins. In de reacties op het bericht van Tanner worden echter ook een aantal nadelen genoemd.

Waarschuwing door “WordPress Coding Standards for PHP_CodeSniffer”

Bij het gebruik van de volgende notatie zal de “WordPress Coding Standards for PHP_CodeSniffer” bibliotheek een waarschuwing geven:

do_action( 'pronamic/plugin/init' );
Words in hook names should be separated using underscores. Expected: 'pronamic_plugin_init', but found: 'pronamic/plugin/init'.

De WordPress.NamingConventions.ValidHookName.UseUnderscores sniff waarschuwt hierover:

https://github.com/WordPress/WordPress-Coding-Standards/blob/29488feb64b723674fe463e691a4f83682c2dd5e/WordPress/Sniffs/NamingConventions/ValidHookNameSniff.php#L31

In de “Coding Standards Handbook” staat namelijk het volgende vermeld:

Use lowercase letters in variable, action/filter, and function names (never camelCase). Separate words via underscores.

https://developer.wordpress.org/coding-standards/wordpress-coding-standards/php/#naming-conventions

Nou is het prima mogelijk om af te wijken van de “WordPress Coding Standards”. Bij Pronamic hanteren we ook een eigen standaard, die op een paar punten afwijken van de “WordPress Coding Standards”: https://github.com/pronamic/wp-coding-standards.

Lastiger te selecteren en kopieren

Bij het dubbel klikken op een tekst zoals pronamic_plugin_init zal direct de hele tekst geselecteerd worden. Bij het dubbel klikken op de tekst pronamic/plugin/init zal alleen een deel tussen de slashes geselecteerd worden. Dit maakt het dat ik voor nu nog de pronamic_plugin_init notatie zal aanhouden.

Categorieën
Geen categorie

Afstappen van Google Authenticator

Als trouwe gebruiker van Google Authenticator heb ik gemerkt dat de app, naarmate ik meer codes toevoeg voor verschillende diensten, steeds minder handig wordt. Het vinden van de juiste code wordt een steeds grotere uitdaging. Daarom ben ik gaan onderzoeken of er alternatieve apps zijn die misschien handiger zijn in gebruik.

Een vraag die bij me opkwam was: hoe kan ik mijn bestaande codes uit Google Authenticator halen? Gelukkig heeft Google in mei 2020 een functie geïntroduceerd waarmee het overzetten van codes naar een ander apparaat mogelijk is. Voor deze overdracht genereert de Google Authenticator app een QR-code (of meerdere) waarin meerdere authenticator-codes zijn gecodeerd. Met een andere Google Authenticator app is het mogelijk om deze QR-code te scannen en zo de codes over te zetten.

Na een korte zoektocht stuitte ik op de volgende bibliotheek op GitHub: dim13/otpauth. Deze bibliotheek is in staat om de gegevens van de QR-code voor het overzetten van Google Authenticator uit te lezen. Met behulp van de volgende stappen kunnen de authenticator-codes van Google Authenticator geëxporteerd worden:

  1. Maak een schermafbeelding van de Google Authenticator overzetten QR-code.
  2. Scan de schermafbeelding met de QR-code scanner functionaliteit van je telefoon.
    • Dit kan eventueel ook via CLI op je computer met bijvoorbeeld de mchehab/zbar-bibliotheek: zbarimg qrcode.jpeg.
  3. Kopieer de volledig tekst uit de QR-code.
    • Deze tekst begint met otpauth-migration://offline?data=….
  4. Gebruik de https://github.com/dim13/otpauth tool via het volgende commando:
    ~/go/bin/otpauth -link "~/go/bin/otpauth -link "otpauth-migration://offline?data=…"

De bibliotheek is ook in staat om nieuwe authenticator-QR-codes te genereren via de -qr-parameter. Deze zijn vervolgens weer te scannen met een andere authenticator app.