Skip to content

Instantly share code, notes, and snippets.

Avatar

Stuart Duff stuartduff

View GitHub Profile
@stuartduff
stuartduff / wcs-remove-resubscribe.php
Created Feb 24, 2021
Remove resubscribe button for WC Subscriptions
View wcs-remove-resubscribe.php
/**
* Remove the "Change Payment Method" button from the My Subscriptions table.
*
* This isn't actually necessary because @see eg_subscription_payment_method_cannot_be_changed()
* will prevent the button being displayed, however, it is included here as an example of how to
* remove just the button but allow the change payment method process.
*/
function eg_remove_my_subscriptions_button( $actions, $subscription ) {
foreach ( $actions as $action_key => $action ) {
@stuartduff
stuartduff / wc-billing-fields-uk-brexit-regions.php
Last active Feb 18, 2021
Changes the county field to state/region to separate regions in the UK for brexit.
View wc-billing-fields-uk-brexit-regions.php
/**
* Changes the county field to state/region to separate regions in the UK for brexit.
* This can be used to specify specific shipping zones for UK regions, like exluding Northern Ireland from UK shipping.
*/
function custom_woocommerce_uk_states_brexit( $states ) {
$states['GB'] = array(
'ENG' => 'England',
'SCO' => 'Scotland',
@stuartduff
stuartduff / storefront-powerpack-custom-header-element.php
Created Nov 1, 2017
Add a custom text element to the header configurator of Storefront Powerpack
View storefront-powerpack-custom-header-element.php
// Adds the text element to the powerpack header components
function sp_header_components_custom_text( $components ) {
$components['text'] = array(
'title' => __( 'Custom Text', 'storefront-powerpack' ),
'hook' => 'sp_header_custom_text_output'
);
return $components;
}
add_filter( 'sp_header_components', 'sp_header_components_custom_text' );
@stuartduff
stuartduff / move-storefront-product-sharing-buttons-below-descripton.css
Last active Jan 5, 2021
Move storefront product sharing icons below the description on the WooCommerce product page.
View move-storefront-product-sharing-buttons-below-descripton.css
@media screen and (min-width: 768px) {
.storefront-product-sharing {
padding: 0 0 2.618em 0 !important;
border-top: 0 !important;
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
margin-bottom: 2.618em;
}
}
@stuartduff
stuartduff / remove-storefront-search-box-header.php
Created Jan 5, 2016
Remove the search box from the header of WooThemes Storefront theme
View remove-storefront-search-box-header.php
function remove_sf_actions() {
remove_action( 'storefront_header', 'storefront_product_search', 40 );
}
add_action( 'init', 'remove_sf_actions' );
@stuartduff
stuartduff / wc-billing-fields-required.php
Created Dec 15, 2020
Sets all Billing fields on WooCommerce checkout to required
View wc-billing-fields-required.php
/**
* Sets all WooCommerce billing fields to be required.
*/
function wc_require_billing_fields( $fields ) {
$fields['billing_first_name']['required'] = true;
$fields['billing_last_name']['required'] = true;
$fields['billing_company']['required'] = true;
$fields['billing_country']['required'] = true;
$fields['billing_address_1']['required'] = true;
$fields['billing_city']['required'] = true;
@stuartduff
stuartduff / wc-failed-to-pending-orders.php
Created Dec 10, 2020
Change Failed orders in WooCommerce to the order status of Pending
View wc-failed-to-pending-orders.php
/**
* Set failed orders to pending payment.
*/
function wc_failed_to_pending( $order_id ){
$order = new WC_Order( $order_id );
$order->update_status( 'pending' );
}
add_action( 'woocommerce_order_status_failed', 'wc_failed_to_pending');
@stuartduff
stuartduff / move-stripe-payment-request-buttons.php
Created Oct 27, 2020
Move the WooCommerce Stripe payment request butttons.
View move-stripe-payment-request-buttons.php
remove_action( ‘woocommerce_after_add_to_cart_quantity’, array( WC_Stripe_Payment_Request::instance(), ‘display_payment_request_button_html’ ), 1 );
add_action( ‘woocommerce_simple_add_to_cart’, array( WC_Stripe_Payment_Request::instance(), ‘display_payment_request_button_html’ ), 1 );
View processing-to-on-hold-email.php
function add_another_email_action( $array ) {
$array[]='woocommerce_order_status_processing_to_on-hold';
return $array;
}
add_filter( 'woocommerce_email_actions', 'add_another_email_action' );
function hook_another_email_on_hold( $email_class ) {
@stuartduff
stuartduff / gist:5805532
Created Jun 18, 2013
Change the word Products in the WooCommerce breadcrumb trail
View gist:5805532
add_filter( 'woo_breadcrumbs_trail', 'woo_custom_filter_breadcrumbs_trail', 10 );
function woo_custom_filter_breadcrumbs_trail ( $trail ) {
foreach ( $trail as $k => $v ) {
if ( strtolower( strip_tags( $v ) ) == 'products' ) {
$trail[$k] = 'Photos';
break;
}
}
return $trail;
} // End woo_custom_filter_breadcrumbs_trail()