Skip to content

Instantly share code, notes, and snippets.

View nielslange's full-sized avatar
👨‍💻
Moving bits and bytes around the globe

Niels Lange nielslange

👨‍💻
Moving bits and bytes around the globe
View GitHub Profile
@nielslange
nielslange / snippet.js
Last active July 18, 2023 17:00
Totals Footer Item filter » totalLabel
const { registerCheckoutFilters } = window.wc.blocksCheckout;
// Adjust the total label.
registerCheckoutFilters( 'example-extension', {
totalLabel: () => 'Deposit due today'
} );
@nielslange
nielslange / snippet.js
Last active July 18, 2023 17:00
Snackbar notices » showRemoveCouponNotice
const { registerCheckoutFilters } = window.wc.blocksCheckout;
// Prevent a couponCode called '10off' from creating a notice when it gets removed.
registerCheckoutFilters( 'example-extension', {
showRemoveCouponNotice: ( value, extensions, { couponCode } ) => {
return couponCode === '10off' ? false : value;
}
} );
@nielslange
nielslange / snippet.js
Last active July 18, 2023 17:01
Snackbar notices » showApplyCouponNotice
const { registerCheckoutFilters } = window.wc.blocksCheckout;
// Prevent a couponCode called '10off' from creating a notice when it gets applied.
registerCheckoutFilters( 'example-extension', {
showApplyCouponNotice: ( value, extensions, { couponCode } ) => {
return couponCode === '10off' ? false : value;
}
} );
diff --git a/assets/js/base/components/cart-checkout/address-form/address-form.tsx b/assets/js/base/components/cart-checkout/address-form/address-form.tsx
index cec368a6c..966ffeb06 100644
--- a/assets/js/base/components/cart-checkout/address-form/address-form.tsx
+++ b/assets/js/base/components/cart-checkout/address-form/address-form.tsx
@@ -144,6 +144,29 @@ const AddressForm = ( {
id = id || instanceId;
+ const customValidationHandler = (
+ inputObject: HTMLInputElement,
@nielslange
nielslange / simple-translation.js
Last active November 8, 2021 13:18
Translating strings
import { __ } from '@wordpress/i18n';
__( 'Hello, Luigi!', 'woo-gutenberg-products-block' );
@nielslange
nielslange / composer.json
Created January 15, 2021 11:08
Installing plugins and themes on a VIP Go site
{
"name": "niels/vip-go-site",
"description": "VIP Go test site of Niels Lange",
"repositories": [
{
"type": "composer",
"url": "https://wpackagist.org"
}
],
"require": {
@nielslange
nielslange / isValidIPv4.js
Last active January 6, 2021 12:32
JavaScript: Validate IPv4 address
// Validate IPv4 address
function isValidIPv4(string) {
const octet = '(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]?|0)';
const regex = new RegExp(`^${octet}\\.${octet}\\.${octet}\\.${octet}$`);
return regex.test(string) ? true : false;
}
@nielslange
nielslange / functions.php
Last active January 4, 2021 04:04
WordPress: Bulk-delete featured images
<?php
global $wpdb;
$wpdb->query( "DELETE FROM $wpdb->postmeta WHERE meta_key = '_thumbnail_id'" );
@nielslange
nielslange / functions.php
Created September 17, 2020 13:40
Reorder EU VAT field on checkout page
<?php
/**
* Reorder EU VAT field on checkout page
*
* @param $fields array The original array with the checkout fields
* @return $fields array The updated array with the checkout fields
* @see https://woocommerce.com/products/eu-vat-number/
*/
function smntcs_reorder_eu_vat_field( $fields ) {
$fields['billing']['billing_vat_number']['priority'] = 35;
@nielslange
nielslange / functions.php
Last active January 4, 2021 04:15
WordPress: Check enqueued scripts and styles
<?php
// Check enqueued scripts
add_action( 'wp_enqueue_scripts', 'nl_check_enqueued_scripts', 99999 );
function nl_check_enqueued_scripts() {
global $wp_scripts;
var_dump( $wp_scripts );
}
// Check enqueued styles