Reset Payment Method on YoOhw Order Duplicates

function rd_reset_payment_method_on_yoohw_order_duplicate_redirect( $location ) { if ( ! function_exists( ‘wc_get_order’ ) || ! class_exists( ‘WC_Order’ ) || ! has_action( ‘woocommerce_order_action_yoos_duplicate_order’ ) ) { return $location; } $redirect_parts = wp_parse_url( $location ); if ( empty( $redirect_parts[‘query’] ) ) { return $location;…Continue reading

Enable Editing of Draft & Processing WooCommerce Orders

add_filter( ‘wc_order_is_editable’, function ( $is_editable, $order ) { if ( ! $order instanceof WC_Order ) { return $is_editable; } if ( ! current_user_can( ‘edit_shop_order’, $order->get_id() ) ) { return $is_editable; } return $is_editable || in_array( $order->get_status(), array( ‘checkout-draft’, ‘processing’ ),…Continue reading

[Hunters Hill Trust] House Count Dynamic Data Shortcode

function rd_greenbook_house_count_shortcode() { $counts = wp_count_posts( ‘wpsl_stores’ ); return isset( $counts->publish ) ? esc_html( number_format_i18n( (int) $counts->publish ) ) : ‘0’; } add_shortcode( ‘rd_greenbook_house_count’, ‘rd_greenbook_house_count_shortcode’ );Continue reading

[DEBUG] Action Scheduler Source Diagnostic

add_action( ‘admin_notices’, ‘rd_report_action_scheduler_source’ ); function rd_report_action_scheduler_source() { if ( ! current_user_can( ‘manage_options’ ) ) { return; } $versions_class = ‘ActionScheduler_Versions’; $system_info_class = ‘ActionScheduler_SystemInformation’; $action_scheduler_class = ‘ActionScheduler’; echo ‘ ‘; if ( ! class_exists( $versions_class ) && ! class_exists( $action_scheduler_class )…Continue reading

[NOT IN USE – Zorem Customer Email Verification] Hide Billing Fields After Email Until Verified

(function () { const fieldSelectors = [ ‘#billing_phone_field’, ‘#billing_company_field’, ‘#billing_address_1_field’, ‘#billing_address_2_field’, ‘#billing_city_field’, ‘#billing_postcode_field’, ‘#billing_state_field’, ‘#billing_country_field’ ]; const klaviyoSelectors = [ ‘#kl_newsletter_checkbox_field’, ‘#kl_sms_consent_checkbox_field’ ]; function setVisibility(selectors, show) { selectors.forEach(selector => { const el = document.querySelector(selector); if (el) { el.style.display = show…Continue reading

[NOT IN USE – Zorem Customer Email Verification] Change Verification Code Input to Number Format

document.addEventListener(‘DOMContentLoaded’, function () { const observer = new MutationObserver(function () { const codeInput = document.querySelector(‘input[name=”cev_billing_email”]’); if (codeInput && !codeInput.hasAttribute(‘inputmode’)) { codeInput.setAttribute(‘inputmode’, ‘numeric’); } }); observer.observe(document.body, { childList: true, subtree: true }); });Continue reading

[IN PROGRESS] Inject data-product-tags into all products

add_action(‘woocommerce_before_single_product’, function () { global $post; if (!is_product()) return; $product = wc_get_product($post->ID); if (!$product) return; $tags = wp_get_post_terms($post->ID, ‘product_tag’, [‘fields’ => ‘names’]); $tag_string = !empty($tags) ? esc_attr(implode(‘, ‘, $tags)) : ”; echo ‘Continue reading