// ========================================================================= // STOREFRONT REMOVE SIDEBAR - FULL WIDTH LAYOUT // ========================================================================= function wpflames_remove_storefront_sidebar() { remove_action( 'storefront_sidebar', 'storefront_get_sidebar', 10 ); add_filter( 'body_class', function( $classes ) { return array_merge( $classes, array( 'page-template-template-fullwidth page-template-template-fullwidth-php ' ) ); } ); } add_action( 'get_header', 'wpflames_remove_storefront_sidebar' );
Free
How to use single social icon with svg sprite without include the whole Font Awesome icon set
Create a file named sprite.svg
<svg> <symbol id="fb-icon" viewbox="-20 -20 200 200"> <path fill="white" d="M91.84,71.34l3.37-21.99h-21.1V35.08c0-6.02,2.95-11.88,12.4-11.88h9.59V4.49c0,0-8.7-1.49-17.03-1.49 C61.7,3,50.35,13.53,50.35,32.59v16.76H31.04v21.99h19.31v53.15h23.77V71.34H91.84z"/></path> </symbol> </svg>
Paste this in functions.php
function add_image_sprite_map(){ include('assets/images/sprite.svg'); } add_action('storefront_before_header', 'add_image_sprite_map');
Use the icon wherever You want
<a target="_blank" href="" rel="noopener noreferrer"> <svg class="fb-svg"><use xlink:href="#fb-icon" /></svg> </a>
Enqueue script with WordPress hook
Hook Data Layer with variables for Google Tag Manager in WooCommerce
Display the selected checkbox in ACF
<?php $colors = get_field('colors'); if( $colors ): ?> <ul> <?php foreach( $colors as $color ): ?> <li><?php echo $color; ?></li> <?php endforeach; ?> </ul> <?php endif; ?>
Display title of current Custom Post Type’s taxonomy
$terms = get_the_terms( $post->ID, 'YOUR_TAXONOMY' ); foreach($terms as $term) { echo $term->name; echo $term->slug; }
jQuery Modal without Bootstrap
// ============================================================= // ENQUEUE SCRIPTS FOR MODAL // ============================================================= function storefront_enqueue_style() { wp_enqueue_style('modal_css', '//cdnjs.cloudflare.com/ajax/libs/jquery-modal/0.9.1/jquery.modal.min.css', false); } add_action( 'wp_enqueue_scripts', 'storefront_enqueue_style' ); function storefront_enqueue_script() { wp_enqueue_script('modal_jquery', '//cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js', false); wp_enqueue_script('modal_js', '//cdnjs.cloudflare.com/ajax/libs/jquery-modal/0.9.1/jquery.modal.min.js', false); } add_action( 'wp_enqueue_scripts', 'storefront_enqueue_script' );
HTML
<!--HTML EMBEDDED INTO THE DOCUMENT--> <div id="modal1" class="modal"> <h2>Hello World</h2> <a href="#" rel="modal:close">Close</a> </div> <!--LINK TO OPEN THE MODAL--> <p><a href="#modal1" rel="modal:open">Open Modal</a></p>
How to select “Add to cart” button with jQuery
jQuery(document).ready(function() {
jQuery(‘body’).on(‘click’, ‘.add_to_cart_button’, function() {
jQuery(this)
alert(“HELLO”);
});
});
How to Change “Place Order” text in WooCommerce Checkout
// ============================================================= // CHANGE PLACE ORDER TEXT // ============================================================= add_filter('woocommerce_order_button_html', 'change_place_order_button'); function change_place_order_button($button_html){ $button_html = str_replace('Place order', 'Order Now', $button_html); return $button_html; }
Remove sidebar from cart and checkout page in Genesis WooCommerce
// ========================================================================= //REMOVE SIDEBAR OF GENESIS CHECKOUT AND CART PAGE // ========================================================================= function remove_checkout_sidebar_genesis($opt) { if( is_checkout() || is_cart()) { $opt = 'full-width-content'; return $opt; } } add_filter('genesis_site_layout', 'remove_checkout_sidebar_genesis');
Excluded TAX for specific user role in WooCommerce
function tax_excluded_price_per_user_role( $value ) { if ( current_user_can( 'wholesale_customer' ) ) { return 'excl'; } return $value; } add_filter( 'pre_option_woocommerce_tax_display_shop', 'tax_excluded_price_per_user_role' ); add_filter( 'pre_option_woocommerce_tax_display_cart', 'tax_excluded_price_per_user_role' );
Show the price in different currency on product archive page in WooCommerce
// ========================================================================= // SHOW PRICE IN EURO // ========================================================================= function show_price_in_euro(){ global $product; if( $product->has_child() ) { $product->get_id(); $var_price_huf = $product->get_variation_price( 'min', true ); $exchange_rate = 360; $price_eur = $var_price_huf / $exchange_rate; echo '<span class="price euro"><span class="woocommerce-Price-amount amount eur">'.round($price_eur, 1).' €</span></span>'; } else{ $product->get_id(); $price_huf = $product->get_price(); $exchange_rate = 360; $price_eur = $price_huf / $exchange_rate; echo '<span class="price euro"><span class="woocommerce-Price-amount amount eur">'.round($price_eur, 1).' €</span></span>'; } } add_action('woocommerce_after_shop_loop_item', 'show_price_in_euro',-1);
Specific Shipping Method Based on Minimum Order Amount in WooCommerce
// ========================================================================= // MINIMUM ORDER AMOUNT FOR SPECIFIC SHIPPING METHOD // ========================================================================= function minimum_order_amount_for_shipping( $rates, $package ) { $threshold = 100; if ( WC()->cart->subtotal < $threshold ) { unset( $rates['flat_rate:2'] ); } return $rates; } add_filter( 'woocommerce_package_rates', 'minimum_order_amount_for_shipping', 10, 2 );
How to show the percentage value of your discounts in WooCommerce
// ========================================================================= // SHOW THE PERCENTAGE VALUE OF DISCOUNT PRODUCTS // ========================================================================= function woocommerce_custom_sales_price( $price, $regular_price, $sale_price ) { global $product; if( $product->has_child() ) { $var_regular_price = $product->get_variation_regular_price( 'min', true ); $var_sale_price = $product->get_variation_price( 'min', true ); $percentage = round( ( $var_regular_price - $var_sale_price ) / $var_regular_price * 100 ).'%'; $percentage_txt = ' ' . __('<span class="sale-percentage"> -', 'woocommerce' , '</span>') . $percentage; $price = '<del>' . ( is_numeric( $regular_price ) ? wc_price( $regular_price ) : $regular_price ) . '</del> <ins>' . ( is_numeric( $sale_price ) ? wc_price( $sale_price ) . $percentage_txt : $sale_price . $percentage_txt ) . '</ins>'; return $price; } else{ $percentage = round( ( $regular_price - $sale_price ) / $regular_price * 100 ).'%'; $percentage_txt = ' ' . __('<span class="sale-percentage"> -', 'woocommerce' , '</span>') . $percentage; $price = '<del>' . ( is_numeric( $regular_price ) ? wc_price( $regular_price ) : $regular_price ) . '</del> <ins>' . ( is_numeric( $sale_price ) ? wc_price( $sale_price ) . $percentage_txt : $sale_price . $percentage_txt ) . '</ins>'; return $price; } } add_filter( 'woocommerce_format_sale_price', 'woocommerce_custom_sales_price', 10, 3 );
Add extra fee based on shipping method in WooCommerce
// ========================================================================= // ADD EXTRA FEE BASED ON SHIPPING METHOD // ========================================================================= add_action( 'woocommerce_cart_calculate_fees','wc_add_surcharge' ); function wc_add_surcharge() { global $woocommerce; if ( is_admin() && ! defined( 'DOING_AJAX' ) ) return; $chosen_methods = WC()->session->get( 'chosen_shipping_methods' ); $chosen_shipping = $chosen_methods[0]; $fee = 10; if ( $chosen_shipping == 'flat_rate:2' ) { $woocommerce->cart->add_fee( 'Extra fee: ', $fee, true, 'standard' ); } }
How to add Custom Terms and Conditions Checkbox to WooCommerce Checkout
// ========================================================================= // CUSTOM TERMS AND CONDITIONS CHECKBOX IN WOO // ========================================================================= function add_checkbox_to_woocommerce_checkout() { ?> <p id="wpgdprc_field" class="form-row wpgdprc-checkbox validate-required"> <span class="woocommerce-input-wrapper"> <label class="checkbox"> <input id="wpgdprc" type="checkbox" value="1" class="input-checkbox" name="wpgdprc" > <span class="gdpr-privacy">I've read and accept the <a target="_blank" href="/terms-and-conditions/">Terms and Conditions</a></span> <abbr class="wpgdprc-required required" title="This field is required">*</abbr> </label> </span> </p> <?php } add_action('woocommerce_checkout_after_terms_and_conditions', 'add_checkbox_to_woocommerce_checkout' );
Display sticky post first, then the last published posts in Genesis
function custom_loop_with_pagination() { global $post; $sticky = get_option( 'sticky_posts' ); $args = array( 'paged' => get_query_var( 'paged' ), 'sticky_first' => array( 'post_type' => 'post', 'category_name' => 'program', 'post__in' => $sticky, 'posts_per_page' => 2, ), 'last_published' => array( 'post_type' => 'post', 'category_name' => 'program', 'post__not_in' => $sticky, 'posts_per_page' => 10, ) ); global $wp_query; $wp_query = new WP_Query( $args ); require 'templates/loop/grid.php'; } add_action( 'genesis_loop', 'custom_loop_with_pagination' ); add_action( 'genesis_before_loop', 'genesis_posts_nav' ); genesis();
Change the excerpt more filter
Add custom og:image with customizer if latest post is set to the front page
// ========================================================================= // ADD OPEN GRAPH IMAGE UPLOAD OPTION TO CUSTOMIZER // ========================================================================= function og_image_customize_register( $wp_customize ) { // Add Settings $wp_customize->add_setting('customizer_setting_og_image', array( 'transport' => 'refresh', )); // Add Section $wp_customize->add_section('og_section', array( 'title' => __('Open Graph image', 'name-theme'), 'priority' => 70, )); // Add Controls $wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, 'customizer_setting_og_image', array( 'label' => __('Add Open Graph image', 'name-theme'), 'section' => 'og_section', 'settings' => 'customizer_setting_og_image', ))); } add_action('customize_register', 'og_image_customize_register'); // ========================================================================= // HOOK THE OG IMAGE INTO THE HOME PAGE // ========================================================================= function add_og_image_to_homepage() { if(is_front_page()){ $og_image = esc_url( get_theme_mod( 'customizer_setting_og_image' ) ); echo '<meta property="og:image" content="'.$og_image.'" />'; } } add_action('wp_head', 'add_og_image_to_homepage');
Custom single post template for specific category in Genesis
Add this snippet to single.php
<?php function custom_single_post() { if(in_category('program')){ include('single-CATEGORY_1.php'); }elseif(in_category('piacter')){ include('single-CATEGORY_2.php'); }else{ include('single.php'); } } add_action('genesis_before_loop', 'custom_single_post', 0); genesis();