<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[SBKITS: Code Lab]]></title><description><![CDATA[SBKITS: Code Lab]]></description><link>https://dev.sbkits.com.my</link><generator>RSS for Node</generator><lastBuildDate>Sun, 03 May 2026 06:51:56 GMT</lastBuildDate><atom:link href="https://dev.sbkits.com.my/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Advanced Elementor Code]]></title><description><![CDATA[[3D] Make a 360 Degree Image Rotation Effect in Elementor Website | WordPress 3D Object/Model Viewer
<style>
model-viewer{
    width:100%;
    height: 100vh;
}
@media (max-width: 1024px) {
model-viewer{
    height:600px;
}
}
@media (max-width: 767px)...]]></description><link>https://dev.sbkits.com.my/advanced-elementor-code</link><guid isPermaLink="true">https://dev.sbkits.com.my/advanced-elementor-code</guid><dc:creator><![CDATA[SBKITS]]></dc:creator><pubDate>Tue, 02 Aug 2022 08:14:38 GMT</pubDate><content:encoded><![CDATA[<h2 id="heading-3d-make-a-360-degree-image-rotation-effect-in-elementor-website-or-wordpress-3d-objectmodel-viewer">[3D] Make a 360 Degree Image Rotation Effect in Elementor Website | WordPress 3D Object/Model Viewer</h2>
<pre><code><span class="hljs-operator">&lt;</span>style<span class="hljs-operator">&gt;</span>
model<span class="hljs-operator">-</span>viewer{
    width:<span class="hljs-number">100</span><span class="hljs-operator">%</span>;
    height: 100vh;
}
@media (max<span class="hljs-operator">-</span>width: 1024px) {
model<span class="hljs-operator">-</span>viewer{
    height:600px;
}
}
@media (max<span class="hljs-operator">-</span>width: 767px) {
model<span class="hljs-operator">-</span>viewer{
    height:350px;
}
}
<span class="hljs-operator">&lt;</span><span class="hljs-operator">/</span>style<span class="hljs-operator">&gt;</span>

<span class="hljs-operator">&lt;</span>script src<span class="hljs-operator">=</span><span class="hljs-string">"https://unpkg.com/@webcomponents/webcomponentsjs@2.1.3/webcomponents-loader.js"</span><span class="hljs-operator">&gt;</span><span class="hljs-operator">&lt;</span><span class="hljs-operator">/</span>script<span class="hljs-operator">&gt;</span> 

<span class="hljs-operator">&lt;</span>model<span class="hljs-operator">-</span>viewer
    src<span class="hljs-operator">=</span><span class="hljs-string">"ADD_YOUR_GLTF_FILE"</span>
    shadow<span class="hljs-operator">-</span>intensity<span class="hljs-operator">=</span><span class="hljs-string">"1"</span>
    disable<span class="hljs-operator">-</span>zoom
    camera<span class="hljs-operator">-</span>controls
    auto<span class="hljs-operator">-</span>rotate
<span class="hljs-operator">&gt;</span>
<span class="hljs-operator">&lt;</span><span class="hljs-operator">/</span>model<span class="hljs-operator">-</span>viewer<span class="hljs-operator">&gt;</span>

<span class="hljs-operator">&lt;</span>script <span class="hljs-keyword">type</span><span class="hljs-operator">=</span><span class="hljs-string">"module"</span> src<span class="hljs-operator">=</span><span class="hljs-string">"https://unpkg.com/@google/model-viewer/dist/model-viewer.min.js"</span><span class="hljs-operator">&gt;</span><span class="hljs-operator">&lt;</span><span class="hljs-operator">/</span>script<span class="hljs-operator">&gt;</span>
<span class="hljs-operator">&lt;</span>script nomodule src<span class="hljs-operator">=</span><span class="hljs-string">"https://unpkg.com/@google/model-viewer/dist/model-viewer-legacy.js"</span><span class="hljs-operator">&gt;</span><span class="hljs-operator">&lt;</span><span class="hljs-operator">/</span>script<span class="hljs-operator">&gt;</span>
</code></pre><p>How To
%[https://www.youtube.com/watch?v=EmiiBvFgnys]</p>
<p><a target="_blank" href="https://makedreamwebsite.com/3d-make-a-360-degree-image-rotation-effect-in-elementor-website/">Tutorial Source</a></p>
<h2 id="heading-elementor-animated-circle-background-effect">Elementor Animated Circle Background Effect</h2>
<p>CSS code snippet on the Container:</p>
<pre><code><span class="hljs-selector-tag">selector</span>{
    <span class="hljs-attribute">--radius</span>: <span class="hljs-number">300px</span>;
    <span class="hljs-attribute">--heading-blur</span>: <span class="hljs-number">10px</span>;
    <span class="hljs-attribute">--text-delay</span>: <span class="hljs-number">1.2s</span>;
}
<span class="hljs-selector-tag">selector</span>{
    <span class="hljs-attribute">--x</span>: <span class="hljs-number">50%</span>;
    <span class="hljs-attribute">--y</span>: <span class="hljs-number">50%</span>;
}
<span class="hljs-selector-tag">selector</span> <span class="hljs-selector-class">.focus-overlay</span>{
    <span class="hljs-attribute">clip-path</span>: <span class="hljs-built_in">circle</span>(<span class="hljs-number">0</span> at var(--x) <span class="hljs-built_in">var</span>(--y));
    <span class="hljs-attribute">transition</span>: all <span class="hljs-number">0.2s</span> linear;
}
<span class="hljs-selector-tag">selector</span><span class="hljs-selector-class">.hover</span> <span class="hljs-selector-class">.focus-overlay</span>{
    <span class="hljs-attribute">clip-path</span>: <span class="hljs-built_in">circle</span>(var(--radius) at <span class="hljs-built_in">var</span>(--x) <span class="hljs-built_in">var</span>(--y));
}


<span class="hljs-comment">/* Heading Animtion */</span>

<span class="hljs-selector-tag">selector</span> <span class="hljs-selector-class">.elementor-widget-heading</span>{
    <span class="hljs-attribute">filter</span>: <span class="hljs-built_in">blur</span>(var(--heading-blur));
    <span class="hljs-attribute">transition</span>: all <span class="hljs-number">2s</span> ease-in-out;
    <span class="hljs-attribute">opacity</span>: <span class="hljs-number">0.75</span>;
}
<span class="hljs-selector-tag">selector</span><span class="hljs-selector-class">.animated</span> <span class="hljs-selector-class">.elementor-widget-heading</span>{
    <span class="hljs-attribute">filter</span>: <span class="hljs-built_in">blur</span>(<span class="hljs-number">0</span>);
    <span class="hljs-attribute">opacity</span>: <span class="hljs-number">1</span>;
}


<span class="hljs-comment">/* Text and Button Animtion */</span>

<span class="hljs-selector-tag">selector</span> <span class="hljs-selector-class">.elementor-widget-text-editor</span>,
<span class="hljs-selector-tag">selector</span> <span class="hljs-selector-class">.elementor-widget-button</span>{
    <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">translateY</span>(<span class="hljs-number">30px</span>);
    <span class="hljs-attribute">transition</span>: all <span class="hljs-number">1s</span> ease-in-out <span class="hljs-built_in">var</span>(--text-delay);
    <span class="hljs-attribute">opacity</span>: <span class="hljs-number">0</span>;
    <span class="hljs-attribute">animation</span>: none;
}
<span class="hljs-selector-tag">selector</span><span class="hljs-selector-class">.animated</span> <span class="hljs-selector-class">.elementor-widget-text-editor</span>,
<span class="hljs-selector-tag">selector</span><span class="hljs-selector-class">.animated</span> <span class="hljs-selector-class">.elementor-widget-button</span>{
    <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">translateY</span>(<span class="hljs-number">0</span>);
    <span class="hljs-attribute">opacity</span>: <span class="hljs-number">1</span>;
}

<span class="hljs-keyword">@media</span> (<span class="hljs-attribute">max-width:</span> <span class="hljs-number">767px</span>){
<span class="hljs-selector-tag">selector</span> &gt; *{
    <span class="hljs-attribute">clip-path</span>: none <span class="hljs-meta">!important</span>;
}
}
</code></pre><p>JavaScript code snippet:</p>
<pre><code><span class="hljs-operator">&lt;</span>script src<span class="hljs-operator">=</span><span class="hljs-string">"https://code.jquery.com/jquery-3.6.0.min.js"</span><span class="hljs-operator">&gt;</span><span class="hljs-operator">&lt;</span><span class="hljs-operator">/</span>script<span class="hljs-operator">&gt;</span>
<span class="hljs-operator">&lt;</span>script<span class="hljs-operator">&gt;</span>
<span class="hljs-keyword">var</span> $ <span class="hljs-operator">=</span> jQuery
$(document).ready(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params"></span>)</span>{

$(<span class="hljs-string">".focus-section"</span>).on(<span class="hljs-string">'mousemove'</span>, <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">e</span>)</span>{
   <span class="hljs-keyword">var</span> parentOffset <span class="hljs-operator">=</span> $(<span class="hljs-built_in">this</span>).offset(),
   x <span class="hljs-operator">=</span> e.pageX <span class="hljs-operator">-</span> parentOffset.left,
   y <span class="hljs-operator">=</span> e.pageY <span class="hljs-operator">-</span> parentOffset.top

   $(<span class="hljs-built_in">this</span>).addClass(<span class="hljs-string">'hover'</span>)

   $(<span class="hljs-string">'.focus-section'</span>).css({
       <span class="hljs-string">'--x'</span>: x <span class="hljs-operator">+</span> <span class="hljs-string">'px'</span>,
       <span class="hljs-string">'--y'</span>: y <span class="hljs-operator">+</span> <span class="hljs-string">'px'</span>,

   })
})

$(<span class="hljs-string">".focus-section"</span>).on(<span class="hljs-string">'mouseleave'</span>, <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params"></span>)</span>{
  $(<span class="hljs-built_in">this</span>).removeClass(<span class="hljs-string">'hover'</span>)
})

})
<span class="hljs-operator">&lt;</span><span class="hljs-operator">/</span>script<span class="hljs-operator">&gt;</span>
</code></pre><p><a target="_blank" href="https://makedreamwebsite.com/elementor-animated-circle-background-effect/">Tutorial Source</a></p>
]]></content:encoded></item><item><title><![CDATA[General WordPress Snippet]]></title><description><![CDATA[Enable WordPress maintenance mode
Code Snippet: PHP
<?php
// Activate WordPress Maintenance Mode
function ess_wp_maintenance_mode() {
    $posts = get_posts(array(
        'posts_per_page' => -1,
    ));

    if (!current_user_can('edit_themes') || !...]]></description><link>https://dev.sbkits.com.my/general-wordpress-snippet</link><guid isPermaLink="true">https://dev.sbkits.com.my/general-wordpress-snippet</guid><dc:creator><![CDATA[SBKITS]]></dc:creator><pubDate>Fri, 29 Jul 2022 09:11:44 GMT</pubDate><content:encoded><![CDATA[<h2 id="heading-enable-wordpress-maintenance-mode">Enable WordPress maintenance mode</h2>
<p>Code Snippet: <code>PHP</code></p>
<pre><code><span class="hljs-meta">&lt;?php</span>
<span class="hljs-comment">// Activate WordPress Maintenance Mode</span>
<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">ess_wp_maintenance_mode</span>(<span class="hljs-params"></span>) </span>{
    $posts = get_posts(<span class="hljs-keyword">array</span>(
        <span class="hljs-string">'posts_per_page'</span> =&gt; <span class="hljs-number">-1</span>,
    ));

    <span class="hljs-keyword">if</span> (!current_user_can(<span class="hljs-string">'edit_themes'</span>) || !is_user_logged_in()) {
        wp_die(<span class="hljs-string">'&lt;h1&gt;Under Maintenance&lt;/h1&gt;&lt;br /&gt;The website is under planned maintenance. Check back later.'</span>);
    } <span class="hljs-keyword">else</span> {
        $alert_bar_css = <span class="hljs-string">"
background-color: #ff0000;
color: #FFFFFF;
display: block;
line-height: 45px;
height: 50px;
position: relative;
text-align: center;
text-decoration: none;
top: 0px;
width: 100%;
z-index: 100;"</span>;

        $msg = <span class="hljs-string">"Maintenance Mode is Enabled!"</span>;

        <span class="hljs-keyword">if</span> (is_admin()) {
            <span class="hljs-keyword">echo</span> <span class="hljs-string">'&lt;div class="notice notice-info is-dismissible"&gt;&lt;p style="background-color: #ff0000; color: #FFFFFF;"&gt;'</span> . $msg . <span class="hljs-string">'&lt;/p&gt;&lt;/div&gt;'</span>;
        } <span class="hljs-keyword">else</span> {
            <span class="hljs-keyword">echo</span> <span class="hljs-string">'&lt;div style="'</span> . $alert_bar_css .<span class="hljs-string">'"&gt;'</span> . $msg . <span class="hljs-string">'&lt;/div&gt;'</span>;
        }
    }
}
<span class="hljs-keyword">if</span> (is_admin()) {
    add_action(<span class="hljs-string">'admin_notices'</span>, <span class="hljs-string">'ess_wp_maintenance_mode'</span>);
} <span class="hljs-keyword">else</span>{
    add_action(<span class="hljs-string">'get_header'</span>, <span class="hljs-string">'ess_wp_maintenance_mode'</span>);
}
</code></pre>]]></content:encoded></item><item><title><![CDATA[Elementor Snippets & Hacks]]></title><description><![CDATA[Show when scrolling down and hide when scrolling up (Custom sticky header for Elementor)
Code Snippet: PHP
var prevScrollpos = window.pageYOffset;
window.onscroll = function() {
var currentScrollPos = window.pageYOffset;
  if (prevScrollpos > current...]]></description><link>https://dev.sbkits.com.my/elementor-snippets-hacks</link><guid isPermaLink="true">https://dev.sbkits.com.my/elementor-snippets-hacks</guid><dc:creator><![CDATA[SBKITS]]></dc:creator><pubDate>Fri, 29 Jul 2022 09:05:42 GMT</pubDate><content:encoded><![CDATA[<h2 id="heading-show-when-scrolling-down-and-hide-when-scrolling-up-custom-sticky-header-for-elementor">Show when scrolling down and hide when scrolling up (Custom sticky header for Elementor)</h2>
<p>Code Snippet: <code>PHP</code></p>
<pre><code><span class="hljs-keyword">var</span> prevScrollpos <span class="hljs-operator">=</span> window.pageYOffset;
window.onscroll <span class="hljs-operator">=</span> <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params"></span>) </span>{
<span class="hljs-keyword">var</span> currentScrollPos <span class="hljs-operator">=</span> window.pageYOffset;
  <span class="hljs-keyword">if</span> (prevScrollpos <span class="hljs-operator">&gt;</span> currentScrollPos) {
    document.getElementById(<span class="hljs-string">"stickyheaders"</span>).style.top <span class="hljs-operator">=</span> <span class="hljs-string">"-1000px"</span>;
  } <span class="hljs-keyword">else</span> {
    document.getElementById(<span class="hljs-string">"stickyheaders"</span>).style.top <span class="hljs-operator">=</span> <span class="hljs-string">'var(--wp-admin--admin-bar--height,0)'</span>;
  }
  prevScrollpos <span class="hljs-operator">=</span> currentScrollPos;
}
</code></pre>]]></content:encoded></item><item><title><![CDATA[Woo-commerce Snippets & Hacks]]></title><description><![CDATA[Introduction
Here are some WooCommerce snippets and hacks I've used on most of my sites So, I'd like to share them with everyone. You can either paste them into your theme's functions.php file or better still, use the Code Snippets plugin if you want...]]></description><link>https://dev.sbkits.com.my/woo-commerce-snippets-hacks</link><guid isPermaLink="true">https://dev.sbkits.com.my/woo-commerce-snippets-hacks</guid><dc:creator><![CDATA[SBKITS]]></dc:creator><pubDate>Thu, 21 Jul 2022 19:17:43 GMT</pubDate><content:encoded><![CDATA[<h1 id="heading-introduction">Introduction</h1>
<p>Here are some WooCommerce snippets and hacks I've used on most of my sites So, I'd like to share them with everyone. You can either paste them into your theme's functions.php file or better still, use the Code Snippets plugin if you want to keep your changes when switching themes.</p>
<h2 id="heading-change-default-wordpress-text">Change default WordPress Text</h2>
<pre><code><span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">divi_engine_wc_translations</span>(<span class="hljs-params">$translated</span>)</span>{
     $text = <span class="hljs-keyword">array</span>(
        <span class="hljs-string">'Your order'</span> =&gt; <span class="hljs-string">'Order'</span>, <span class="hljs-comment">// changes all Your order text to be Order</span>
    <span class="hljs-string">'Billing Details'</span> =&gt; <span class="hljs-string">'Your Details'</span>, <span class="hljs-comment">// changes all Billing Details text to be Your Details</span>
     <span class="hljs-string">'Product'</span>    =&gt; <span class="hljs-string">'Book'</span>, <span class="hljs-comment">// changes all product text to be book</span>
     <span class="hljs-string">'Addresses'</span>    =&gt; <span class="hljs-string">'Billing Information'</span>, <span class="hljs-comment">// changes all Addresses text to be Billing Information (in account)</span>
     );

     $translated = str_ireplace(  array_keys($text),  $text,  $translated );
     <span class="hljs-keyword">return</span> $translated;
 }
 add_filter( <span class="hljs-string">'gettext'</span>, <span class="hljs-string">'divi_engine_wc_translations'</span>, <span class="hljs-number">20</span> );
</code></pre><h2 id="heading-rename-a-product-tab">Rename a product tab</h2>
<pre><code>add_filter( <span class="hljs-string">'woocommerce_product_tabs'</span>, <span class="hljs-string">'woo_rename_tab'</span>, <span class="hljs-number">98</span>);
<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">woo_rename_tab</span>(<span class="hljs-params">$tabs</span>) </span>{

 $tabs[<span class="hljs-string">'description'</span>][<span class="hljs-string">'title'</span>] = <span class="hljs-string">'More info'</span>;

 <span class="hljs-keyword">return</span> $tabs;
}
</code></pre><h2 id="heading-replace-out-of-stock-by-sold">Replace “Out of stock” by “sold”</h2>
<pre><code>add_filter(<span class="hljs-string">'woocommerce_get_availability'</span>, <span class="hljs-string">'availability_filter_func'</span>);

<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">availability_filter_func</span>(<span class="hljs-params">$availability</span>)
</span>{
    $availability[<span class="hljs-string">'availability'</span>] = str_ireplace(<span class="hljs-string">'Out of stock'</span>, <span class="hljs-string">'Sold'</span>, $availability[<span class="hljs-string">'availability'</span>]);
    <span class="hljs-keyword">return</span> $availability;
}
</code></pre><h2 id="heading-loading-woocommerce-css-and-javascript-files-on-shop-pages-only">Loading WooCommerce CSS and JavaScript Files on Shop Pages Only</h2>
<pre><code><span class="hljs-operator">&lt;</span>?php

<span class="hljs-keyword">if</span> (<span class="hljs-operator">!</span>function_exists( <span class="hljs-string">'evolution_manage_woocommerce_styles'</span> ) ) :
<span class="hljs-comment">/**
* Optimize WooCommerce Scripts
* Removes WooCommerce styles and scripts from non WooCommerce pages.
*/</span>  
<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">evolution_manage_woocommerce_styles</span>(<span class="hljs-params"></span>) </span>{

    <span class="hljs-comment">//first check that woo exists to prevent fatal errors</span>
    <span class="hljs-keyword">if</span> ( function_exists( <span class="hljs-string">'is_woocommerce'</span> ) ) {

        <span class="hljs-comment">//dequeue scripts and styles</span>
        <span class="hljs-keyword">if</span> ( <span class="hljs-operator">!</span> is_woocommerce() <span class="hljs-operator">&amp;</span><span class="hljs-operator">&amp;</span> <span class="hljs-operator">!</span> is_cart() <span class="hljs-operator">&amp;</span><span class="hljs-operator">&amp;</span> <span class="hljs-operator">!</span> is_checkout() <span class="hljs-operator">&amp;</span><span class="hljs-operator">&amp;</span> <span class="hljs-operator">!</span> is_account_page() ) {          
            wp_dequeue_style( <span class="hljs-string">'woocommerce-layout'</span> );
            wp_dequeue_style( <span class="hljs-string">'woocommerce-smallscreen'</span> );
            wp_dequeue_style( <span class="hljs-string">'woocommerce-general'</span> );
            wp_dequeue_style( <span class="hljs-string">'evolution-woostyles'</span> );
            wp_dequeue_script( <span class="hljs-string">'wc_price_slider'</span> );
            wp_dequeue_script( <span class="hljs-string">'wc-single-product'</span> );
            wp_dequeue_script( <span class="hljs-string">'wc-add-to-cart'</span> );
            wp_dequeue_script( <span class="hljs-string">'wc-cart-fragments'</span> );
            wp_dequeue_script( <span class="hljs-string">'wc-checkout'</span> );
            wp_dequeue_script( <span class="hljs-string">'wc-add-to-cart-variation'</span> );
            wp_dequeue_script( <span class="hljs-string">'wc-single-product'</span> );
            wp_dequeue_script( <span class="hljs-string">'wc-cart'</span> );
            wp_dequeue_script( <span class="hljs-string">'wc-chosen'</span> );
            wp_dequeue_script( <span class="hljs-string">'woocommerce'</span> );
            wp_dequeue_script( <span class="hljs-string">'prettyPhoto'</span> );
            wp_dequeue_script( <span class="hljs-string">'prettyPhoto-init'</span> );
            wp_dequeue_script( <span class="hljs-string">'jquery-blockui'</span> );
            wp_dequeue_script( <span class="hljs-string">'jquery-placeholder'</span> );
            wp_dequeue_script( <span class="hljs-string">'fancybox'</span> );
            wp_dequeue_script( <span class="hljs-string">'jqueryui'</span> );
        }
    }
}
add_action( <span class="hljs-string">'wp_enqueue_scripts'</span>, <span class="hljs-string">'evolution_manage_woocommerce_styles'</span>, <span class="hljs-number">99</span> );
endif;
</code></pre><h2 id="heading-quickly-translate-any-string">Quickly translate any string</h2>
<pre><code>add_filter(<span class="hljs-string">'gettext'</span>,  <span class="hljs-string">'translate_text'</span>);
add_filter(<span class="hljs-string">'ngettext'</span>,  <span class="hljs-string">'translate_text'</span>);

<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">translate_text</span>(<span class="hljs-params">$translated</span>) </span>{
     $translated = str_ireplace(<span class="hljs-string">'Choose and option'</span>,  <span class="hljs-string">'Select'</span>,  $translated);
     <span class="hljs-keyword">return</span> $translated;
}

Set the Minimum Quantity <span class="hljs-keyword">for</span> WooCommerce Products
<span class="hljs-comment">/**
* Code snippet: Set the Minimum, Maximum, and Start Value to Cart Quantity
*/</span>

add_filter( <span class="hljs-string">'woocommerce_quantity_input_args'</span>, <span class="hljs-string">'njengah_woocommerce_quantity_changes'</span>, <span class="hljs-number">10</span>, <span class="hljs-number">2</span> );

   <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">njengah_woocommerce_quantity_changes</span>(<span class="hljs-params"> $args, $product </span>) </span>{

      <span class="hljs-keyword">if</span> ( ! is_cart() ) {

        $args[<span class="hljs-string">'input_value'</span>] = <span class="hljs-number">5</span>; <span class="hljs-comment">// Start from this value (default = 1)</span>

      $args[<span class="hljs-string">'max_value'</span>] = <span class="hljs-number">1000</span>; <span class="hljs-comment">// Max quantity (default = -1)</span>

      $args[<span class="hljs-string">'min_value'</span>] = <span class="hljs-number">1</span>; <span class="hljs-comment">// Min quantity (default = 0)</span>

      $args[<span class="hljs-string">'step'</span>] = <span class="hljs-number">1</span>; <span class="hljs-comment">// Increment/decrement by this value (default = 1)</span>

     } <span class="hljs-keyword">else</span> {

        <span class="hljs-comment">// Cart's "min_value" is already 0 and we don't need "input_value"</span>

      $args[<span class="hljs-string">'max_value'</span>] = <span class="hljs-number">1000</span>; <span class="hljs-comment">// Max quantity (default = -1)</span>

      $args[<span class="hljs-string">'step'</span>] = <span class="hljs-number">1</span>; <span class="hljs-comment">// Increment/decrement by this value (default = 0)</span>

      <span class="hljs-comment">// COMMENT OUT FOLLOWING IF STEP &amp;lt; MIN_VALUE</span>

      <span class="hljs-comment">// $args['min_value'] = 4; // Min quantity (default = 0)</span>

     }

      <span class="hljs-keyword">return</span> $args;

   }
</code></pre><h2 id="heading-redirect-to-checkout-page-after-add-to-cart">Redirect to checkout page after add to cart</h2>
<pre><code><span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">add_to_cart_checkout_redirect</span>(<span class="hljs-params"></span>) </span>{
  wp_safe_redirect( get_permalink( get_option( <span class="hljs-string">'woocommerce_checkout_page_id'</span> ) ) );

<span class="hljs-keyword">die</span>();

}

add_action( ‘add_to_cart_redirect’, ‘add_to_cart_checkout_redirect’, <span class="hljs-number">16</span> );
<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">add_to_cart_checkout_redirect</span>(<span class="hljs-params"></span>) </span>{
    <span class="hljs-keyword">global</span> $woocommerce;
    $checkout_url = $woocommerce-&gt;cart-&gt;get_checkout_url();
    <span class="hljs-keyword">return</span> $checkout_url;
}

Change add to cart button text
<span class="hljs-comment">//Single Page</span>
add_filter( <span class="hljs-string">'woocommerce_product_single_add_to_cart_text'</span>, <span class="hljs-string">'woo_custom_cart_button_text'</span> ); <span class="hljs-comment">// 2.1 +</span>
<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">woo_custom_cart_button_text</span>(<span class="hljs-params"></span>) </span>{
<span class="hljs-keyword">return</span> __( <span class="hljs-string">'My Button Text'</span>, <span class="hljs-string">'woocommerce'</span> );

}
<span class="hljs-comment">//On Archive Pages</span>
add_filter( <span class="hljs-string">'woocommerce_product_add_to_cart_text'</span>, <span class="hljs-string">'woo_archive_custom_cart_button_text'</span> ); <span class="hljs-comment">// 2.1 +</span>
<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">woo_archive_custom_cart_button_text</span>(<span class="hljs-params"></span>) </span>{
<span class="hljs-keyword">return</span> __( <span class="hljs-string">'My Button Text'</span>, <span class="hljs-string">'woocommerce'</span> );
}
</code></pre><h2 id="heading-redirect-add-to-cart-button-to-checkout-page">Redirect add to cart button to checkout page</h2>
<pre><code>add_filter (<span class="hljs-string">'add_to_cart_redirect'</span>, <span class="hljs-string">'redirect_to_checkout'</span>);

<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">redirect_to_checkout</span>(<span class="hljs-params"></span>) </span>{
    <span class="hljs-keyword">global</span> $woocommerce;
    $checkout_url = $woocommerce-&gt;cart-&gt;get_checkout_url();
    <span class="hljs-keyword">return</span> $checkout_url;
}
</code></pre><h2 id="heading-add-email-recipient-when-order-completed">Add email recipient when order completed</h2>
<pre><code><span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">woo_extra_email_recipient</span>(<span class="hljs-params">$recipient, $object</span>) </span>{
    $recipient = $recipient . <span class="hljs-string">', your@email.com'</span>;
    <span class="hljs-keyword">return</span> $recipient;
}
add_filter( <span class="hljs-string">'woocommerce_email_recipient_customer_completed_order'</span>, <span class="hljs-string">'woo_extra_email_recipient'</span>, <span class="hljs-number">10</span>, <span class="hljs-number">2</span>);
</code></pre>]]></content:encoded></item></channel></rss>