Skip to content

Instantly share code, notes, and snippets.

View woogists's full-sized avatar

WooGists woogists

View GitHub Profile
@woogists
woogists / wc-subscriptions-enable-emails-on-staging.php
Created November 4, 2022 16:57
[WooCommerce Subscriptions] Enabling Subscriptions Emails on a Staging Site
// Enable subscription-related emails on a staging site
if ( ! defined( 'WCS_FORCE_EMAIL' ) ) {
define( 'WCS_FORCE_EMAIL', true );
}
@woogists
woogists / wc-core-change-default-cart-session.php
Last active July 14, 2022 12:01
[WooCommerce Core] Change default cart session length
<?php
// Sets when the session is about to expire
add_filter( 'wc_session_expiring', 'woocommerce_cart_session_about_to_expire');
function woocommerce_cart_session_about_to_expire() {
// Default value is 47
return 60 * 60 * 47;
}
@woogists
woogists / wc-product-vendors-change-url-slug.php
Last active July 29, 2022 00:09
[Product Vendors] Change the vendor URL slug
add_filter( 'wcpv_vendor_slug', 'change_product_vendors_slug' );
function change_product_vendors_slug() {
return 'your-new-slug';
}
@woogists
woogists / wc-brands-breadcrumbs-into-links.php
Created July 6, 2022 06:34
[Brands] Turn Brand Breadcrumbs into links
add_filter( 'wc360_js_playspeed', 'adjust_play_speed_for_wc360' );
function adjust_play_speed_for_wc360( $speed ) {
return 750;
}
@woogists
woogists / gist:e67d8e6c9d3bbf48dc266b8082798bda
Created April 29, 2022 07:52
[Conditional Shipping & Payments] Creating new conditions that include multiple modifiers
<?php
add_filter( 'woocommerce_csp_conditions', function( $condition_classes ) {
class WC_CSP_Condition_Package_Item_Quantity_Bottles extends WC_CSP_Condition_Package_Item_Quantity {
public function __construct() {
parent::__construct();
$this->id = 'bottles_in_package';
$this->title = __( 'Bottles Count', 'woocommerce-conditional-shipping-and-payments' );
}
@woogists
woogists / woo-blocks-check-house-number-in-billing-and-shipping-address.php
Created April 20, 2022 15:27
[WooCommerce Blocks] Check if the billing and shipping address contains a house number
<?php
add_action( 'woocommerce_store_api_checkout_update_order_from_request', 'woo_blocks_address_field_validation', 10, 2);
function woo_blocks_address_field_validation( WC_Order $order, $request ) {
$shipping_address = $order->get_address('shipping')['address_1'];
$billing_address = $order->get_address('billing')['address_1'];
if ( $shipping_address && ! preg_match( '/[0-9]+/', $shipping_address ) ) {
throw new Exception( 'Your shipping address must contain a house number!' );
}
@woogists
woogists / woo-blocks-check-house-number-in-billing-address.php
Last active April 20, 2022 15:49
[WooCommerce Blocks] Check if the billing address contains a house number
<?php
add_action( 'woocommerce_store_api_checkout_update_order_from_request', 'woo_blocks_address_field_validation', 10, 2);
function woo_blocks_address_field_validation( WC_Order $order, $request ) {
$billing_address = $order->get_address('billing')['address_1'];
if ( $billing_address && ! preg_match( '/[0-9]+/', $billing_address ) ) {
throw new Exception( 'Your billing address must contain a house number!' );
}
}
@woogists
woogists / woo-blocks-check-house-number-in-shipping-address.php
Last active November 2, 2022 17:42
[WooCommerce Blocks] Check if the shipping address contains a house number
<?php
add_action( 'woocommerce_store_api_checkout_update_order_from_request', 'woo_blocks_address_field_validation', 10, 2);
function woo_blocks_address_field_validation( WC_Order $order, $request ) {
$shipping_address = $order->get_address('shipping')['address_1'];
if ( $shipping_address && ! preg_match( '/[0-9]+/', $shipping_address ) ) {
throw new Exception( 'Your shipping address must contain a house number!' );
}
}
@woogists
woogists / woocommerce_add_to_cart_button_text.php
Last active December 6, 2023 09:57
Change the 'Add to Cart' button text on either single product or archives pages.
<?php
// Change add to cart text on single product page
add_filter( 'woocommerce_product_single_add_to_cart_text', 'woocommerce_add_to_cart_button_text_single' );
function woocommerce_add_to_cart_button_text_single() {
return __( 'Add to Cart Button Text', 'woocommerce' );
}
// Change add to cart text on product archives page
add_filter( 'woocommerce_product_add_to_cart_text', 'woocommerce_add_to_cart_button_text_archives' );