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; }
[Upsell] How to create a modal when clicking the “Add to cart” button in WooCommerce
Would You like to create an upsell popup for WooCoomerce, when the customer clicks to the “Add to cart” button? You don’t need to buy any kind of plugins to do it. In this post I’m going to show you how to code the functionality to boost your sales in WooCommerce.
You can place and style any kind of upsell content in this popup:
[Read more…] about [Upsell] How to create a modal when clicking the “Add to cart” button in WooCommercejQuery 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();
Display post and custom post types categories in one loop
<?php wp_reset_postdata(); $args = array( 'post_type' => array( 'post', 'unicorn'), 'tax_query' => array( 'relation' => 'OR', array( 'taxonomy' => 'category', 'field' => 'slug', 'terms' => array( 'test' ) ), array( 'taxonomy' => 'unicorn_category', 'field' => 'slug', 'terms' => array( 'blur' ) ) ), ); $the_query = new WP_Query( $args ); ?> <?php if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); ?> <h2><?php the_title(); ?></h2> <?php endwhile; endif; ?> <?php wp_reset_postdata(); ?>
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();
Echo something if post has specific category
You should put this snippet inside the loop
if ( in_category('CATEGORY_NAME')){ echo 'Hello World!'; }