function impBrandsArchive( $query ) { $query->set( ‘post_type’, [ ‘hot-tubs’, ‘swim-spas’, ‘saunas’ ] ); } add_action( ‘elementor/query/brands_archive’, ‘impBrandsArchive’ ); /** * Action: ‘rank_math/vars/register_extra_replacements’ – Allows adding extra variables. */ add_action( ‘rank_math/vars/register_extra_replacements’, function(){ rank_math_register_var_replacement( ‘dealer_currency’, [ ‘name’ => esc_html__( ‘Dealer Currency’, ‘rank-math’…Continue reading
function impDisplayARWrapperIframe() { $post_id = get_the_ID(); $product_ar = get_post_meta($post_id, ‘product_ar_iframe’, true); if(!empty($product_ar)) { $html_code = ‘‘; } else { $product_ar = get_post_meta($post_id, ‘ar_code’, true); $html_code = ‘‘; } return $html_code; } add_shortcode(‘display-ar-wrapper-iframe’, ‘impDisplayARWrapperIframe’); function impDisplayARWrapperIframeMassagechairs() { $post_id = get_the_ID(); $product_ar…Continue reading
/* * MS GROUP WEBSITE — VERSION B * JavaScript — Scroll Reveal Animations * ============================================================ * Uses IntersectionObserver to fade elements up on scroll. * In WordPress, this can be replaced with: * – Elementor entrance animations (built-in) *…Continue reading
/** * Add custom text to the Completed Order email for non-wholesale customers only. */ add_action( ‘woocommerce_email_before_order_table’, function( $order, $sent_to_admin, $plain_text, $email ) { // Only target the Completed Order email if ( ‘customer_completed_order’ !== $email->id ) { return; }…Continue reading
/** * Customize the Subject for wholesalers */ add_filter( ‘woocommerce_email_subject_customer_completed_order’, function( $subject, $order ) { if ( ! $order ) return $subject; $customer_id = $order->get_customer_id(); if ( ! $customer_id ) return $subject; $wholesale_roles = [ ‘wholesale_customer’, ‘wholesale_vip’ ]; $user =…Continue reading