<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Woocommerce &#8211; Snippets</title>
	<atom:link href="http://wp.djtedfunke.com/tag/woocommerce/feed/" rel="self" type="application/rss+xml" />
	<link>http://wp.djtedfunke.com</link>
	<description></description>
	<lastBuildDate>Fri, 28 Jan 2022 10:51:41 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.4.3</generator>

<image>
	<url>http://wp.djtedfunke.com/wp-content/uploads/2018/12/cropped-front-end_developer-2-512-32x32.png</url>
	<title>Woocommerce &#8211; Snippets</title>
	<link>http://wp.djtedfunke.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Rename Order Status Messages in WooCommerce</title>
		<link>http://wp.djtedfunke.com/rename-order-status-messages-in-woocommerce/</link>
		
		<dc:creator><![CDATA[tadej]]></dc:creator>
		<pubDate>Fri, 28 Jan 2022 10:51:41 +0000</pubDate>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Woocommerce]]></category>
		<guid isPermaLink="false">http://wp.djtedfunke.com/?p=348</guid>

					<description><![CDATA[https://www.tychesoftwares.com/how-to-rename-order-status-messages-in-woocommerce/ You will see that the&#160;order status has changed. We used the hook&#160;wc_order_statuses&#160;here and attached our function&#160;ts_rename_order_status_msg&#160;to it. The&#160;$order_statuses&#160;array that we passed as the argument&#8230;]]></description>
										<content:encoded><![CDATA[
<p><a href="https://www.tychesoftwares.com/how-to-rename-order-status-messages-in-woocommerce/">https://www.tychesoftwares.com/how-to-rename-order-status-messages-in-woocommerce/</a></p>



<pre class="wp-block-code"><code lang="php" class="language-php">add_filter( 'wc_order_statuses', 'ts_rename_order_status_msg', 20, 1 );
function ts_rename_order_status_msg( $order_statuses ) {
    $order_statuses['wc-completed']  = _x( 'Order Received', 'Order status', 'woocommerce' );
    $order_statuses['wc-processing'] = _x( 'Your Order is being processed', 'Order status', 'woocommerce' );
    $order_statuses['wc-on-hold']    = _x( 'Your Order is on hold', 'Order status', 'woocommerce' );
    $order_statuses['wc-pending']    = _x( 'Your Order is pending', 'Order status', 'woocommerce' );
    return $order_statuses;
}</code></pre>



<div class="wp-block-image"><figure class="aligncenter"><img decoding="async" src="https://cdn2.tychesoftwares.com/wp-content/uploads/2019/08/14195735/Order_Status_Changed.jpg" alt="Rename Order Status Messages in WooCommerce - Order Status Messages changed" class="wp-image-385694" title="How to Rename Order Status Messages in WooCommerce 2"/></figure></div>



<p>You will see that the&nbsp;<strong>order status has changed</strong>. We used the hook&nbsp;<a href="https://docs.woocommerce.com/wc-apidocs/hook-docs.html" target="_blank" rel="noreferrer noopener"><strong>wc_order_statuses</strong></a>&nbsp;here and attached our function&nbsp;<strong>ts_rename_order_status_msg</strong>&nbsp;to it. The&nbsp;<strong>$order_statuses</strong>&nbsp;array that we passed as the argument contains the status messages as its first value.</p>



<p>The status messages also change in the front-end, where you check your order status under&nbsp;<strong>My account-&gt;Orders</strong>:</p>



<div class="wp-block-image"><figure class="aligncenter"><img decoding="async" src="https://cdn2.tychesoftwares.com/wp-content/uploads/2019/08/19184049/MyAccount_Orders.jpg" alt="Rename Order Status Messages in WooCommerce - Order Status Messages changed in the front end" class="wp-image-386285" title="How to Rename Order Status Messages in WooCommerce 3"/></figure></div>



<p>There are two other places though where the&nbsp;<strong>Woocommerce order status message</strong>&nbsp;gets displayed i.e. in the top menu inside the Admin Dashboard, and also in the dropdown for Bulk Actions:</p>



<div class="wp-block-image"><figure class="aligncenter"><img decoding="async" src="https://cdn2.tychesoftwares.com/wp-content/uploads/2019/08/14200137/TopMenu_Dropdown_Order_status.jpg" alt="Rename Order Status Messages in WooCommerce - Order Status Messages in the Top Menu and Bulk Actions in the Admin Dashboard" class="wp-image-385695" title="How to Rename Order Status Messages in WooCommerce 4"/></figure></div>



<p>These status messages can be changed too using two other hooks to which we will attach two other functions.</p>



<p>Add the below code to the functions.php file of your child theme to change the status message in the top menu:</p>



<pre class="wp-block-code"><code lang="php" class="language-php">foreach( array( 'post', 'shop_order' ) as $hook )
    add_filter( "views_edit-shop_order", 'ts_order_status_top_changed' );
function ts_order_status_top_changed( $views ){
    if( isset( $views['wc-completed'] ) )
        $views['wc-completed'] = str_replace( 'Completed', __( 'Order Received', 'woocommerce'), $views['wc-completed'] );
    if( isset( $views['wc-processing'] ) )
        $views['wc-processing'] = str_replace( 'Processing', __( 'In Process', 'woocommerce'), $views['wc-processing'] );
    if( isset( $views['wc-on-hold'] ) )
        $views['wc-on-hold'] = str_replace( 'On hold', __( 'Order on Hold', 'woocommerce'), $views['wc-on-hold'] );
    if( isset( $views['wc-pending'] ) )
        $views['wc-pending'] = str_replace( 'Pending payment', __( 'Payment Pending', 'woocommerce'), $views['wc-pending'] );
        return $views;
}</code></pre>



<p>You can see that we have used&nbsp;<a href="https://docs.woocommerce.com/wc-apidocs/hook-docs.html" target="_blank" rel="noreferrer noopener"><strong>views_edit-shop_order&nbsp;</strong></a>hook here to simply replace the String values that each array key (for different order status messages) contains.</p>



<div class="wp-block-image"><figure class="aligncenter"><img decoding="async" src="https://cdn2.tychesoftwares.com/wp-content/uploads/2019/08/15210155/TopMenu_Status_Changed1.jpg" alt="Rename Order Status Messages in WooCommerce - Order Status Message changed in Admin Top Menu" class="wp-image-385808" title="How to Rename Order Status Messages in WooCommerce 5"/></figure></div>



<p>Now, the last place that we have to change the order status messages (if necessary) is the Bulk Actions dropdown that we highlighted above. For this, we will use yet another code snippet and add it to the same functions.php file:</p>



<pre class="wp-block-code"><code lang="php" class="language-php">add_filter( 'bulk_actions-edit-shop_order', 'ts_bulk_actions_order_status', 20, 1 );
function ts_bulk_actions_order_status( $actions ) {
    $actions['mark_processing'] = __( 'Mark as In Process', 'woocommerce' );
    $actions['mark_on-hold']    = __( 'Mark as Order on Hold', 'woocommerce' );
    $actions['mark_completed']  = __( 'Mark as Order Received', 'woocommerce' );
    return $actions;
}</code></pre>



<p>Here, the&nbsp;<a href="https://docs.woocommerce.com/wc-apidocs/hook-docs.html" target="_blank" rel="noreferrer noopener"><strong>bulk_actions-edit-shop_order</strong></a>&nbsp;hook is being used to change the values of the different actions that are applied to orders.</p>



<p>You can see that the order status messages will have changed in this dropdown:</p>



<div class="wp-block-image"><figure class="aligncenter"><img decoding="async" src="https://cdn2.tychesoftwares.com/wp-content/uploads/2019/08/15210847/Bulk_Actions_Status_Changed.jpg" alt="Rename Order Status Messages in WooCommerce - Bulk Actions Order Status Message changed" class="wp-image-385809" title="How to Rename Order Status Messages in WooCommerce 6"/></figure></div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Minimum and maximum allowable product quantities to be added in WooCommerce Cart</title>
		<link>http://wp.djtedfunke.com/minimum-and-maximum-allowable-product-quantities-to-be-added-in-woocommerce-cart/</link>
		
		<dc:creator><![CDATA[tadej]]></dc:creator>
		<pubDate>Fri, 28 Jan 2022 10:40:27 +0000</pubDate>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Woocommerce]]></category>
		<guid isPermaLink="false">http://wp.djtedfunke.com/?p=345</guid>

					<description><![CDATA[woocommerce_quantity_input_min : Allows to change the minimum value for the quantity. Default value is 0.woocommerce_quantity_input_max : Allows to change maximum value for the quantity. Default&#8230;]]></description>
										<content:encoded><![CDATA[
<p>woocommerce_quantity_input_min : Allows to change the minimum value for the quantity. Default value is 0.<br>woocommerce_quantity_input_max : Allows to change maximum value for the quantity. Default value is -1.</p>



<pre class="wp-block-code"><code lang="php" class="language-php">/*
* Changing the minimum quantity to 2 for all the WooCommerce products
*/

function woocommerce_quantity_input_min_callback( $min, $product ) {
	$min = 2;  
	return $min;
}
add_filter( 'woocommerce_quantity_input_min', 'woocommerce_quantity_input_min_callback', 10, 2 );

/*
* Changing the maximum quantity to 5 for all the WooCommerce products
*/

function woocommerce_quantity_input_max_callback( $max, $product ) {
	$max = 5;  
	return $max;
}
add_filter( 'woocommerce_quantity_input_max', 'woocommerce_quantity_input_max_callback', 10, 2 );</code></pre>



<p>With backend fields:</p>



<p><a href="https://www.tychesoftwares.com/how-to-set-minimum-and-maximum-allowable-product-quantities-to-be-added-in-woocommerce-cart/">https://www.tychesoftwares.com/how-to-set-minimum-and-maximum-allowable-product-quantities-to-be-added-in-woocommerce-cart/</a></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Add to Cart Quantity Plus &#038; Minus Buttons</title>
		<link>http://wp.djtedfunke.com/add-to-cart-quantity-plus-minus-buttons/</link>
		
		<dc:creator><![CDATA[tadej]]></dc:creator>
		<pubDate>Fri, 28 Jan 2022 10:38:00 +0000</pubDate>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Woocommerce]]></category>
		<guid isPermaLink="false">http://wp.djtedfunke.com/?p=342</guid>

					<description><![CDATA[PHP Snippet: Display Plus &#38; Minus Quantity Buttons @ WooCommerce Single Product Page And Cart Page:https://www.businessbloomer.com/woocommerce-add-plus-minus-buttons-to-add-to-cart-quantity-input]]></description>
										<content:encoded><![CDATA[
<p>PHP Snippet: Display Plus &amp; Minus Quantity Buttons @ WooCommerce Single Product Page And Cart Page:<br><a href="https://www.businessbloomer.com/woocommerce-add-plus-minus-buttons-to-add-to-cart-quantity-input">https://www.businessbloomer.com/woocommerce-add-plus-minus-buttons-to-add-to-cart-quantity-input</a></p>



<p></p>



<pre class="wp-block-code"><code lang="php" class="language-php">/**
 * @snippet       Plus Minus Quantity Buttons @ WooCommerce Product Page &amp; Cart
 * @how-to        Get CustomizeWoo.com FREE
 * @author        Rodolfo Melogli
 * @compatible    WooCommerce 5
 * @donate $9     https://businessbloomer.com/bloomer-armada/
 */
  
// -------------
// 1. Show plus minus buttons
  
add_action( 'woocommerce_after_quantity_input_field', 'bbloomer_display_quantity_plus' );
  
function bbloomer_display_quantity_plus() {
   echo '&lt;button type="button" class="plus"&gt;+&lt;/button&gt;';
}
  
add_action( 'woocommerce_before_quantity_input_field', 'bbloomer_display_quantity_minus' );
  
function bbloomer_display_quantity_minus() {
   echo '&lt;button type="button" class="minus"&gt;-&lt;/button&gt;';
}
  
// -------------
// 2. Trigger update quantity script
  
add_action( 'wp_footer', 'bbloomer_add_cart_quantity_plus_minus' );
  
function bbloomer_add_cart_quantity_plus_minus() {
 
   if ( ! is_product() &amp;&amp; ! is_cart() ) return;
    
   wc_enqueue_js( "   
           
      $(document).on( 'click', 'button.plus, button.minus', function() {
  
         var qty = $( this ).parent( '.quantity' ).find( '.qty' );
         var val = parseFloat(qty.val());
         var max = parseFloat(qty.attr( 'max' ));
         var min = parseFloat(qty.attr( 'min' ));
         var step = parseFloat(qty.attr( 'step' ));
 
         if ( $( this ).is( '.plus' ) ) {
            if ( max &amp;&amp; ( max &lt;= val ) ) {
               qty.val( max ).change();
            } else {
               qty.val( val + step ).change();
            }
         } else {
            if ( min &amp;&amp; ( min &gt;= val ) ) {
               qty.val( min ).change();
            } else if ( val &gt; 1 ) {
               qty.val( val - step ).change();
            }
         }
 
      });
        
   " );
}</code></pre>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Coupons used column &#8211; Orders</title>
		<link>http://wp.djtedfunke.com/coupons-used-column-orders/</link>
		
		<dc:creator><![CDATA[tadej]]></dc:creator>
		<pubDate>Tue, 03 Nov 2020 10:30:17 +0000</pubDate>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Woocommerce]]></category>
		<guid isPermaLink="false">http://wp.djtedfunke.com/?p=271</guid>

					<description><![CDATA[Add a column with coupons used on admin Orders list in Woocommerce:]]></description>
										<content:encoded><![CDATA[
<p>Add a column with coupons used on admin Orders list in Woocommerce:</p>



<pre class="wp-block-code"><code lang="php" class="language-php">function woo_customer_order_coupon_column_for_orders( $columns ) {
    $new_columns = array();
    
    foreach ( $columns as $column_key => $column_label ) {
        if ( 'order_total' === $column_key ) {
            $new_columns['order_coupons'] = __('Coupons', 'woocommerce');
        }
        
        $new_columns[$column_key] = $column_label;
    }
    return $new_columns;
}
add_filter( 'manage_edit-shop_order_columns', 'woo_customer_order_coupon_column_for_orders' );

function woo_display_customer_order_coupon_in_column_for_orders( $column ) {
    global $the_order, $post;
    if( $column  == 'order_coupons' ) {
        if( $coupons = $the_order->get_coupon_codes() ) {
            echo implode(', ', $coupons) . ' ('.count($coupons).')';
        } else {
            echo '&lt;small>&lt;em>'. __('No coupons') . '&lt;/em>&lt;/small>';
        }
    }
}
add_action( 'manage_shop_order_posts_custom_column' , 'woo_display_customer_order_coupon_in_column_for_orders' );</code></pre>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>WooCommerce: Order Info</title>
		<link>http://wp.djtedfunke.com/woocommerce-order-info/</link>
		
		<dc:creator><![CDATA[tadej]]></dc:creator>
		<pubDate>Sat, 29 Feb 2020 16:07:19 +0000</pubDate>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Woocommerce]]></category>
		<guid isPermaLink="false">http://wp.djtedfunke.com/?p=243</guid>

					<description><![CDATA[WooCommerce: Easily Get Order Info (total, items, etc) from $order Object 1. You have access to $order Hooks (do_action and apply_filters) use additional arguments which&#8230;]]></description>
										<content:encoded><![CDATA[
<p>WooCommerce: Easily Get Order Info (total, items, etc) from $order Object</p>



<h2 class="wp-block-heading">1. You have access to $order</h2>



<p>Hooks (do_action and apply_filters) use additional arguments which are passed on to the function. If they allow you to use the “$order” object you’re in business. Here’s how to get all the order information:</p>



<pre class="wp-block-code"><code lang="php" class="language-php">// Get Order ID
$order->get_id();
 
// Get Order Totals $0.00
$order->get_formatted_order_total();
$order->get_cart_tax();
$order->get_currency();
$order->get_discount_tax();
$order->get_discount_to_display();
$order->get_discount_total();
$order->get_fees();
$order->get_formatted_line_subtotal();
$order->get_shipping_tax();
$order->get_shipping_total();
$order->get_subtotal();
$order->get_subtotal_to_display();
$order->get_tax_location();
$order->get_tax_totals();
$order->get_taxes();
$order->get_total();
$order->get_total_discount();
$order->get_total_tax();
$order->get_total_refunded();
$order->get_total_tax_refunded();
$order->get_total_shipping_refunded();
$order->get_item_count_refunded();
$order->get_total_qty_refunded();
$order->get_qty_refunded_for_item();
$order->get_total_refunded_for_item();
$order->get_tax_refunded_for_item();
$order->get_total_tax_refunded_by_rate_id();
$order->get_remaining_refund_amount();
 
// Get Order Items
$order->get_items();
$order->get_items_key();
$order->get_items_tax_classes();
$order->get_item();
$order->get_item_count();
$order->get_item_subtotal();
$order->get_item_tax();
$order->get_item_total();
$order->get_downloadable_items();
 
// Get Order Lines
$order->get_line_subtotal();
$order->get_line_tax();
$order->get_line_total();
 
// Get Order Shipping
$order->get_shipping_method();
$order->get_shipping_methods();
$order->get_shipping_to_display();
 
// Get Order Dates
$order->get_date_created();
$order->get_date_modified();
$order->get_date_completed();
$order->get_date_paid();
 
// Get Order User, Billing &amp; Shipping Addresses
$order->get_customer_id();
$order->get_user_id();
$order->get_user();
$order->get_customer_ip_address();
$order->get_customer_user_agent();
$order->get_created_via();
$order->get_customer_note();
$order->get_address_prop();
$order->get_billing_first_name();
$order->get_billing_last_name();
$order->get_billing_company();
$order->get_billing_address_1();
$order->get_billing_address_2();
$order->get_billing_city();
$order->get_billing_state();
$order->get_billing_postcode();
$order->get_billing_country();
$order->get_billing_email();
$order->get_billing_phone();
$order->get_shipping_first_name();
$order->get_shipping_last_name();
$order->get_shipping_company();
$order->get_shipping_address_1();
$order->get_shipping_address_2();
$order->get_shipping_city();
$order->get_shipping_state();
$order->get_shipping_postcode();
$order->get_shipping_country();
$order->get_address();
$order->get_shipping_address_map_url();
$order->get_formatted_billing_full_name();
$order->get_formatted_shipping_full_name();
$order->get_formatted_billing_address();
$order->get_formatted_shipping_address();
 
// Get Order Payment Details
$order->get_payment_method();
$order->get_payment_method_title();
$order->get_transaction_id();
 
// Get Order URLs
$order->get_checkout_payment_url();
$order->get_checkout_order_received_url();
$order->get_cancel_order_url();
$order->get_cancel_order_url_raw();
$order->get_cancel_endpoint();
$order->get_view_order_url();
$order->get_edit_order_url();
 
// Get Order Status
$order->get_status();
 
// source: https://docs.woocommerce.com/wc-apidocs/class-WC_Order.html</code></pre>



<h2 class="wp-block-heading">2. You have access to $order_id</h2>



<p>If you have access to the order ID (once again, usually the do_action or apply_filters might give you this), you have to get the order object first. Then do the exact same things as above.</p>



<pre class="wp-block-code"><code lang="php" class="language-php">// Get $order object from order ID
 
$order = wc_get_order( $order_id );
 
// Now you have access to (see above)...
 
$order->get_id()
$order->get_formatted_order_total( )
// etc.
// etc.</code></pre>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Woocommerce email</title>
		<link>http://wp.djtedfunke.com/woocommerce-email/</link>
		
		<dc:creator><![CDATA[tadej]]></dc:creator>
		<pubDate>Sat, 29 Feb 2020 16:05:14 +0000</pubDate>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[Woocommerce]]></category>
		<guid isPermaLink="false">http://wp.djtedfunke.com/?p=241</guid>

					<description><![CDATA[This script will allow you to send a custom email from anywhere within wordpress but using the woocommerce template so that your emails look the&#8230;]]></description>
										<content:encoded><![CDATA[
<p>This script will allow you to send a custom email from anywhere within wordpress but using the woocommerce template so that your emails look the same.<br><a href="https://gist.github.com/craigedmonds/b65c65e02fd40bd381bf023ffef2c80e">https://gist.github.com/craigedmonds/b65c65e02fd40bd381bf023ffef2c80e</a></p>



<pre class="wp-block-code"><code lang="php" class="language-php">function get_custom_email_html( $order, $heading = false, $mailer ) {

	$template = 'emails/my-custom-email-i-want-to-send.php';

	return wc_get_template_html( $template, array(
		'order'         => $order,
		'email_heading' => $heading,
		'sent_to_admin' => false,
		'plain_text'    => false,
		'email'         => $mailer
	) );

}

// load the mailer class
$mailer = WC()->mailer();

//format the email
$recipient = "someone@somewhere.com";
$subject = __("Hi! Here is a custom notification from us!", 'theme_name');
$content = get_custom_email_html( $order, $subject, $mailer );
$headers = "Content-Type: text/html\r\n";

//send the email through wordpress
$mailer->send( $recipient, $subject, $content, $headers );</code></pre>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Customize WooCommerce Shipping Rates</title>
		<link>http://wp.djtedfunke.com/customize-woocommerce-shipping-rates/</link>
		
		<dc:creator><![CDATA[tadej]]></dc:creator>
		<pubDate>Thu, 26 Sep 2019 15:19:17 +0000</pubDate>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Woocommerce]]></category>
		<guid isPermaLink="false">http://wp.djtedfunke.com/?p=229</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-embed-wordpress wp-block-embed is-type-wp-embed is-provider-caleb-burks"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="XTp4PiWO6m"><a href="https://calebburks.com/customize-woocommerce-shipping-rates/">Customize WooCommerce Shipping Rates</a></blockquote><iframe title="&#8220;Customize WooCommerce Shipping Rates&#8221; &#8212; Caleb Burks" class="wp-embedded-content" sandbox="allow-scripts" security="restricted" style="position: absolute; clip: rect(1px, 1px, 1px, 1px);" src="https://calebburks.com/customize-woocommerce-shipping-rates/embed/#?secret=XTp4PiWO6m" data-secret="XTp4PiWO6m" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>WooCommerce shipping fee that changes when condition is met</title>
		<link>http://wp.djtedfunke.com/woocommerce-shipping-fee-that-changes-when-condition-is-met/</link>
		
		<dc:creator><![CDATA[tadej]]></dc:creator>
		<pubDate>Thu, 26 Sep 2019 15:18:23 +0000</pubDate>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Woocommerce]]></category>
		<guid isPermaLink="false">http://wp.djtedfunke.com/?p=227</guid>

					<description><![CDATA[https://reigelgallarde.me/programming/woocommerce-shipping-fee-changes-condition-met/]]></description>
										<content:encoded><![CDATA[
<p><a href="https://reigelgallarde.me/programming/woocommerce-shipping-fee-changes-condition-met/">https://reigelgallarde.me/programming/woocommerce-shipping-fee-changes-condition-met/</a></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>WooCommerce: Display Required Field Errors “Inline” @ Checkout</title>
		<link>http://wp.djtedfunke.com/woocommerce-display-required-field-errors-inline-checkout/</link>
		
		<dc:creator><![CDATA[tadej]]></dc:creator>
		<pubDate>Thu, 26 Sep 2019 15:16:21 +0000</pubDate>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Woocommerce]]></category>
		<guid isPermaLink="false">http://wp.djtedfunke.com/?p=225</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-embed-wordpress wp-block-embed is-type-wp-embed is-provider-business-bloomer"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="HX59u9Tltg"><a href="https://businessbloomer.com/woocommerce-display-required-field-errors-inline-checkout/">WooCommerce: Display Required Field Errors &#8220;Inline&#8221; @ Checkout</a></blockquote><iframe title="&#8220;WooCommerce: Display Required Field Errors &#8220;Inline&#8221; @ Checkout&#8221; &#8212; Business Bloomer" class="wp-embedded-content" sandbox="allow-scripts" security="restricted" style="position: absolute; clip: rect(1px, 1px, 1px, 1px);" src="https://businessbloomer.com/woocommerce-display-required-field-errors-inline-checkout/embed/#?secret=HX59u9Tltg" data-secret="HX59u9Tltg" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Woocommerce external blogs</title>
		<link>http://wp.djtedfunke.com/woocommerce-external-blogs/</link>
		
		<dc:creator><![CDATA[tadej]]></dc:creator>
		<pubDate>Thu, 26 Sep 2019 14:28:50 +0000</pubDate>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Woocommerce]]></category>
		<guid isPermaLink="false">http://wp.djtedfunke.com/?p=219</guid>

					<description><![CDATA[https://rudrastyh.com/blog https://jeroensormani.com/blog/ https://wpglorify.com/]]></description>
										<content:encoded><![CDATA[
<ul><li><a href="https://rudrastyh.com/blog">https://rudrastyh.com/blog</a></li><li><a href="https://jeroensormani.com/blog/">https://jeroensormani.com/blog/</a></li><li><a href="https://wpglorify.com/">https://wpglorify.com/</a></li></ul>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Woocommerce &#8211; Checkbox checkout</title>
		<link>http://wp.djtedfunke.com/woocommerce-checkbox-checkout/</link>
		
		<dc:creator><![CDATA[tadej]]></dc:creator>
		<pubDate>Tue, 01 Jan 2019 21:49:06 +0000</pubDate>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Woocommerce]]></category>
		<guid isPermaLink="false">http://wp.djtedfunke.com/?p=114</guid>

					<description><![CDATA[Add privacy policy checkbox checkout:]]></description>
										<content:encoded><![CDATA[
<p>Add privacy policy checkbox checkout:</p>



<pre class="wp-block-code"><code lang="php" class="language-php">add_action( 'woocommerce_review_order_before_payment', 'woo_add_checkout_privacy_policy', 9 );
   
function woo_add_checkout_privacy_policy() {
  
    woocommerce_form_field( 'privacy_policy', array(
        'type'          => 'checkbox',
        'class'         => array('form-row terms wc-terms-and-conditions'),
        'label_class'   => array('woocommerce-form__label woocommerce-form__label-for-checkbox checkbox'),
        'input_class'   => array('woocommerce-form__input woocommerce-form__input-checkbox input-checkbox'),
        'required'      => true,
        'label'         => __( 'Mit deiner Bestellung erklärst du dich mit unseren Allgemeinen &lt;a href="/agb/" target="_blank">Geschäftsbedingungen Widerrufsbestimmungen&lt;/a> sowie &lt;a href="/datenschutz/" target="_blank">Datenschutzbestimmungen&lt;/a> einverstanden.', 'error' )
    )); 
      
}
// Show notice if customer does not tick
add_action( 'woocommerce_checkout_process', 'woo_not_approved_privacy' );
  
function woo_not_approved_privacy() {
    if ( ! (int) isset( $_POST['privacy_policy'] ) ) {
        wc_add_notice( __( 'Die Zustimmung zu unseren Datenschutz und Geschäftsbedingungen (AGB) ist erforderlich.' ), 'error' );
    }
}</code></pre>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
