Skip to content

Instantly share code, notes, and snippets.


Stuart Duff stuartduff

View GitHub Profile
stuartduff / remove-add-to-cart-archives.php
Created Apr 5, 2021
Remove Add To Cart Buttons From WooCommerce Product Archives
View remove-add-to-cart-archives.php
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart');
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 / 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 / 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 / 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 / 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 ) {
return $array;
add_filter( 'woocommerce_email_actions', 'add_another_email_action' );
function hook_another_email_on_hold( $email_class ) {
stuartduff / fa-box-shorcode.exmple
Created Feb 26, 2020
An example of the FA Box Shortcode WordPress Plugin
View fa-box-shorcode.exmple
[box icon="fa-wordpress" color="blue" url=""]Visit[/box]
stuartduff / sf-fw-wooslider
Last active Dec 17, 2018
Storefront Homepage Full Width WooSlider
View sf-fw-wooslider
* Adds wooslider into the storefront_before_content action in the parent themes header.php file.
function sd_storefront_homepage_slider() {
// if not the StoreFront Homepage Page Template return false
if ( ! is_page_template( 'template-homepage.php' ) ) {
return false;
stuartduff / storefront-custom-homepage-text-section.php
Last active Dec 12, 2018
Add a custom text section to the storefront themes homepage template.
View storefront-custom-homepage-text-section.php
function sf_output_custom_text_section() {
echo '<section class="storefront-product-section storefront-product-category">';
echo '<h2 class="section-title">' . __( 'Text Title', 'storefront' ) . '</h2>';
echo '<p>This is some text blurb</p>';
echo '</section>';