<?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>News Archives - WP Software License for WooCommerce</title>
	<atom:link href="https://wpsoftwarelicense.com/category/news/feed/" rel="self" type="application/rss+xml" />
	<link>https://wpsoftwarelicense.com/category/news/</link>
	<description>An easy and secure way to manage product licensing for WooCommerce</description>
	<lastBuildDate>Fri, 27 Feb 2026 08:22:13 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>Implement Discount Pricing for Expiring Products</title>
		<link>https://wpsoftwarelicense.com/implement-discount-pricing-for-expiring-products/</link>
					<comments>https://wpsoftwarelicense.com/implement-discount-pricing-for-expiring-products/#respond</comments>
		
		<dc:creator><![CDATA[woocommerce-sl]]></dc:creator>
		<pubDate>Fri, 27 Feb 2026 07:14:35 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<guid isPermaLink="false">https://wpsoftwarelicense.com/?p=2372</guid>

					<description><![CDATA[<p>Keeping licenses active is good for customers — and essential for recurring revenue. The Implement Discount Pricing for Expiring Products feature lets you automatically offer renewal discounts based on how close a license is to expiring (or how long it has been expired). This article explains how the feature works, how to configure rules programmatically, [&#8230;]</p>
<p>The post <a href="https://wpsoftwarelicense.com/implement-discount-pricing-for-expiring-products/">Implement Discount Pricing for Expiring Products</a> appeared first on <a href="https://wpsoftwarelicense.com">WP Software License for WooCommerce</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Keeping licenses active is good for customers — and essential for recurring revenue. The <strong>Implement Discount Pricing for Expiring Products</strong> feature lets you automatically offer renewal discounts based on how close a license is to expiring (or how long it has been expired). This article explains how the feature works, how to configure rules programmatically, and the benefits of using expiration-aware discounts.<span id="more-2372"></span></p>
<h4><strong>How it works</strong></h4>
<p>The feature hooks into the existing Expire functionality (see <a href="https://wpsoftwarelicense.com/documentation/create-expiration-for-license-product/">Create Expiration for License Product</a> ) and lets you modify renewal pricing via the woo_sl/default_expire/renew_price filter. You supply a set of discount rules that map time ranges to discount percentages; when a renewal price is calculated the filter applies the correct discount based on the license’s time-to-expiry or time-since-expiry.</p>
<h4><strong>Discount rules format</strong></h4>
<p>Rules are passed as an associative array with two top-level sections: before-expire and after-expire. Keys are ranges (days) and values are discount percentages. Example structure:</p>
<pre class="brush: php; title: ; notranslate">
    $discount_rules = &#x5B;
                        'before-expire' =&gt; &#x5B;
                            '30-6' =&gt; 40,  // between 6 and 30 days before expiry =&gt; 40%
                            '5-0'  =&gt; 35,   // 0 to 5 days before expiry =&gt; 35%
                        ],
                        'after-expire'  =&gt; &#x5B;
                            '0-14'   =&gt; 30,  // expired 0 to 14 days =&gt; 30%
                            '15-29'  =&gt; 25,  // expired 15 to 30 days =&gt; 25%
                            '30-180' =&gt; 20,  // expired 31 to 180 days =&gt; 20%
                            '181-'   =&gt; 10,  // expired 181 days or more =&gt; 10%
                        ],
                    ];

</pre>
<p>&nbsp;</p>
<ul>
<li>Ranges are day intervals. 30-6 means the range between 6 and 30 days before expiration (order can be interpreted by your parser — be consistent).</li>
<li>181- means 181 days or more.</li>
<li>Values are percentages (e.g., 40 = 40% discount).</li>
</ul>
<h4><strong>Where to put the code</strong></h4>
<p>You can inject the code inside a custom file on your /wp-content/mu-plugins/ folder.</p>
<pre class="brush: php; title: ; notranslate">
    add_filter('woo_sl/default_expire/renew_price', 'woosl_apply_renew_discount', 10, 2 );
    /**
     * Apply a renew discount based on license expire / expired timestamps and a discount rules array.
     *
     * @param float $renew_price
     * @param int   $order_item_id
     * @param array $discount_rules Optional. If not provided the default rules (from your spec) are used.
     * @return float Discounted price (rounded to 2 decimals). If no discount applies returns the original price.
     */
    function woosl_apply_renew_discount( $renew_price, $order_item_id, $discount_rules = null ) 
        {
            // default rules (PHP array syntax)
            if ( $discount_rules === null ) 
                {
                    $discount_rules = &#x5B;
                                            'before-expire' =&gt; &#x5B;
                                                '30-6' =&gt; 40,  // between 6 and 30 days before expiry =&gt; 40%
                                                '5-0'  =&gt; 35,   // 0 to 5 days before expiry =&gt; 35%
                                            ],
                                            'after-expire'  =&gt; &#x5B;
                                                '0-14'   =&gt; 30,  // expired 0 to 14 days =&gt; 30%
                                                '15-29'  =&gt; 25,  // expired 15 to 30 days =&gt; 25%
                                                '30-180' =&gt; 20,  // expired 31 to 180 days =&gt; 20%
                                                '181-'   =&gt; 10,  // expired 181 days or more =&gt; 10%
                                            ],
                                        ];
                }

            // Fetch timestamps from order item meta (as per your original code)
            $license_expire_at  = WOO_SL_functions::get_order_item_meta( $order_item_id, '_woo_sl_licensing_expire_at',  TRUE );
            $license_expired_at = WOO_SL_functions::get_order_item_meta( $order_item_id, '_woo_sl_licensing_expired_at',  TRUE );

            $now = time();

            // normalize timestamps to integers (0 if not numeric)
            $expire_ts  = is_numeric( $license_expire_at ) ? (int) $license_expire_at : 0;
            $expired_ts = is_numeric( $license_expired_at ) ? (int) $license_expired_at : 0;

            // helper to find matching discount percent from a rules array for a given days value
            $find_discount_for_days = function( array $rules, $days ) {
                // iterate rules in array order (preserves user's ordering)
                foreach ( $rules as $range =&gt; $pct ) 
                    {
                        // parse &quot;A-B&quot;, &quot;A-&quot; or &quot;-B&quot; formats
                        $parts = explode( '-', $range, 2 );
                        $a = isset( $parts&#x5B;0] ) &amp;&amp; $parts&#x5B;0] !== '' ? (int) $parts&#x5B;0] : null;
                        $b = isset( $parts&#x5B;1] ) &amp;&amp; $parts&#x5B;1] !== '' ? (int) $parts&#x5B;1] : null;

                        // If both are null — skip invalid rule
                        if ( $a === null &amp;&amp; $b === null ) {
                            continue;
                        }

                        // Determine min and max for inclusive comparison
                        if ( $a === null ) {
                            $min = PHP_INT_MIN;
                            $max = $b;
                        } elseif ( $b === null ) {
                            $min = $a;
                            $max = PHP_INT_MAX;
                        } else {
                            // handle reversed ranges like &quot;30-6&quot; by normalizing min/max
                            $min = min( $a, $b );
                            $max = max( $a, $b );
                        }

                        if ( $days &gt;= $min &amp;&amp; $days &lt;= $max ) {
                            return (float) $pct;
                        }
                    }

                return 0.0; // no match
            };

            $DAY = 86400;

            $applied_pct = 0.0;

            if ( $expire_ts &gt; 0 ) 
                {
                    if ( $expire_ts &gt; $now ) 
                        {
                            // license not yet expired -&gt; days until expiry
                            // Use ceil so partial day counts as a full day remaining (you can change to floor if you prefer)
                            $days_to_expire = (int) ceil( ( $expire_ts - $now ) / $DAY );

                            // find discount in before-expire rules
                            if ( ! empty( $discount_rules&#x5B;'before-expire'] ) &amp;&amp; is_array( $discount_rules&#x5B;'before-expire'] ) ) {
                                $applied_pct = $find_discount_for_days( $discount_rules&#x5B;'before-expire'], $days_to_expire );
                            }
                        } 
                    else 
                        {
                            // expired already -&gt; days since expiry
                            // Use floor so only completed days count as &quot;days since&quot;
                            $days_since_expiry = (int) floor( ( $now - $expire_ts ) / $DAY );

                            if ( ! empty( $discount_rules&#x5B;'after-expire'] ) &amp;&amp; is_array( $discount_rules&#x5B;'after-expire'] ) ) {
                                $applied_pct = $find_discount_for_days( $discount_rules&#x5B;'after-expire'], $days_since_expiry );
                            }
                        }
                } 
            elseif ( $expired_ts &gt; 0 ) {
                // no expire timestamp, rely on expired timestamp (assumed in the past)
                $days_since_expiry = (int) floor( ( $now - $expired_ts ) / $DAY );

                if ( ! empty( $discount_rules&#x5B;'after-expire'] ) &amp;&amp; is_array( $discount_rules&#x5B;'after-expire'] ) ) {
                    $applied_pct = $find_discount_for_days( $discount_rules&#x5B;'after-expire'], $days_since_expiry );
                }
            } else {
                // no timestamps at all -&gt; no discount
                $applied_pct = 0.0;
            }

            // Ensure renew price numeric
            $renew_price = (float) $renew_price;

            if ( $applied_pct &gt; 0 ) {
                $discounted_price = round( $renew_price * ( 1 - ( $applied_pct / 100.0 ) ), 2 );
            } else {
                $discounted_price = round( $renew_price, 2 );
            }


            return $discounted_price;
        }

</pre>
<h4></h4>
<h4><strong>Benefits</strong></h4>
<ul>
<li><strong>Higher renewal conversion</strong> — Timely discounts reduce friction for customers on the fence and increase the likelihood of on-time renewals.</li>
<li><strong>Targeted reactivation</strong> — Automated post-expiry discounts (e.g., first 14 days) are a low-touch way to win back lapsed customers.</li>
<li><strong>Flexible marketing</strong> — Define different discount intensities for &#8220;about to expire&#8221; vs. &#8220;long expired&#8221; to match business strategy.</li>
<li><strong>Reduced churn &amp; predictable revenue</strong> — Offering graduated discounts keeps customers on board and smooths renewal cycles.</li>
<li><strong>Automation &amp; consistency</strong> — Centralized rules mean every license follows the same logic — no manual price edits.</li>
<li><strong>A/B and analytics-friendly</strong> — Because rules are data-driven, you can test different percentages and ranges and measure lift.</li>
</ul>
<p>&nbsp;</p>
<p data-start="14" data-end="434">License renewals are a critical moment in the customer lifecycle. When a product is close to expiring—or has already expired—users are more likely to hesitate, delay, or abandon renewal altogether. Instead of relying solely on reminder emails or manual promotions, <strong data-start="279" data-end="320"><span class="hover:entity-accent entity-underline inline cursor-pointer align-baseline"><span class="whitespace-normal">WP Software License</span></span></strong> allows you to turn these moments into opportunities by applying <strong data-start="385" data-end="433">automatic, expiration-based discount pricing</strong>.</p>
<p data-start="436" data-end="887">With the <strong data-start="445" data-end="497">Implement Discount Pricing for Expiring Products</strong> feature, you can dynamically adjust renewal prices based on how many days remain before a license expires or how long it has been inactive. By leveraging the built-in expiration functionality and a simple programmatic filter, you gain full control over renewal incentives—rewarding early renewals, encouraging quick reactivation, and reducing long-term churn without ongoing manual effort.</p>
<p data-start="889" data-end="1231" data-is-last-node="" data-is-only-node="">This approach not only improves the renewal experience for customers but also creates a predictable, data-driven strategy for maximizing lifetime value. In the sections below, you’ll learn how expiration-based discounting works, how to define flexible discount rules, and why this feature is a powerful addition to any license-based business.</p>
<p>The post <a href="https://wpsoftwarelicense.com/implement-discount-pricing-for-expiring-products/">Implement Discount Pricing for Expiring Products</a> appeared first on <a href="https://wpsoftwarelicense.com">WP Software License for WooCommerce</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://wpsoftwarelicense.com/implement-discount-pricing-for-expiring-products/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>WP Software License and WPSubscription integration &#8211; seamless licensing for recurring products</title>
		<link>https://wpsoftwarelicense.com/wp-software-license-and-wpsubscription-integration-seamless-licensing-for-recurring-products/</link>
					<comments>https://wpsoftwarelicense.com/wp-software-license-and-wpsubscription-integration-seamless-licensing-for-recurring-products/#respond</comments>
		
		<dc:creator><![CDATA[woocommerce-sl]]></dc:creator>
		<pubDate>Fri, 24 Oct 2025 08:11:50 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<guid isPermaLink="false">https://wpsoftwarelicense.com/?p=2318</guid>

					<description><![CDATA[<p>If you sell software, digital tools, or licensed goods on WooCommerce, pairing WP Software License with WPSubscription gives you a polished recurring-revenue setup: subscription billing handled by WPSubscription, and automated license issuance, updates, and lifecycle management handled by WP Software License. Together, they remove manual work, reduce support tickets, and keep customers receiving licensed updates [&#8230;]</p>
<p>The post <a href="https://wpsoftwarelicense.com/wp-software-license-and-wpsubscription-integration-seamless-licensing-for-recurring-products/">WP Software License and WPSubscription integration &#8211; seamless licensing for recurring products</a> appeared first on <a href="https://wpsoftwarelicense.com">WP Software License for WooCommerce</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>If you sell software, digital tools, or licensed goods on WooCommerce, pairing WP Software License with <a href="https://wpsubscription.co/" target="_blank" rel="noopener">WPSubscription</a> gives you a polished recurring-revenue setup: subscription billing handled by WPSubscription, and automated license issuance, updates, and lifecycle management handled by WP Software License. Together, they remove manual work, reduce support tickets, and keep customers receiving licensed updates as long as they pay.<br />
<span id="more-2318"></span></p>
<h4>What the integration does — in plain terms</h4>
<p>When a customer purchases a subscription product, WPSubscription manages the billing (recurring charges, trials, renewals) while WP Software License automatically issues and manages the corresponding license keys. If a subscription expires or is canceled, the license status is updated accordingly — no manual intervention required. That means active subscribers keep working software and access to updates; expired accounts lose license access until they renew.</p>
<h4>Why this combo helps your business</h4>
<ul>
<li><strong>Predictable recurring revenue</strong> — WPSubscription handles automated renewals, flexible billing cycles, free trials, and gateway integrations so payments stay on autopilot. This simplifies cashflow forecasting and growth planning.</li>
<li><strong>Automated license lifecycle</strong> — WP Software License issues keys on purchase, supports pre-saved or dynamically generated keys, and updates licenses automatically when subscription status changes. That removes a major source of manual work and support overhead.</li>
<li><strong>Better customer experience</strong> — customers get keys in email and in their My Account area, can manage licenses themselves, and receive secure automatic updates for downloadable products — all of which reduces friction and increases satisfaction.</li>
<li><strong>Flexible product support</strong> — WP Software License supports any WooCommerce product type (simple, variable, grouped, and subscriptions), so you can license everything from a single downloadable plugin to tiered plans with multiple seats.</li>
</ul>
<h4>Key technical strengths</h4>
<ul>
<li><strong>License management + API</strong>: WP Software License includes a JSON API and prebuilt examples so your software can authenticate, activate, and check updates programmatically. That makes secure update distribution and activation checks straightforward.</li>
<li><strong>Multiple gateways &amp; billing features</strong>: WPSubscription supports major gateways and subscription features — automated renewals, trials, sign-up fees, and easy plan management — so you can design pricing that fits your customers.</li>
<li><strong>Variable subscriptions &amp; multiple items per order</strong>: Both plugins support complex product types and cart scenarios (variable subscriptions, multiple subscriptions in one order), giving you flexibility to sell seat-based or tiered licensing.</li>
</ul>
<h4>Use cases that get immediate wins</h4>
<ul>
<li>SaaS-style WordPress plugins or themes sold as a subscription with licensed updates and support.</li>
<li>Desktop or mobile apps that require license activation tied to a recurring payment.</li>
<li>Physical products that include a software component (predefined keys shipped with the product) and recurring maintenance plans.</li>
</ul>
<h4>Quick setup notes</h4>
<ol>
<li>Install and activate WPSoftwareLicense and WPSubscription on your WooCommerce site.</li>
<li>Create subscription products (simple or variable) in WooCommerce. Configure billing cycles and gateway settings in WPSubscription.</li>
<li>Configure licensing data for the product inside WP Software License so that when a subscription is completed, a license is issued automatically. WP Software License will update license status on cancellations/expirations.</li>
</ol>
<p>Combining WP Software License with <a href="https://wpsubscription.co/">WPSubscription</a> turns a WooCommerce store into a full-featured subscription + licensing platform: reliable recurring billing, automated license issuance, secure updates, and self-service license management. For businesses selling licensed software or maintenance plans, this integration pays back quickly in reduced support costs and improved customer retention.</p>
<p>&nbsp;</p>
<p>The post <a href="https://wpsoftwarelicense.com/wp-software-license-and-wpsubscription-integration-seamless-licensing-for-recurring-products/">WP Software License and WPSubscription integration &#8211; seamless licensing for recurring products</a> appeared first on <a href="https://wpsoftwarelicense.com">WP Software License for WooCommerce</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://wpsoftwarelicense.com/wp-software-license-and-wpsubscription-integration-seamless-licensing-for-recurring-products/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Compatibility with WooCommerce Subscriptions plugin</title>
		<link>https://wpsoftwarelicense.com/compatibility-woocommerce-subscriptions/</link>
					<comments>https://wpsoftwarelicense.com/compatibility-woocommerce-subscriptions/#comments</comments>
		
		<dc:creator><![CDATA[woocommerce-sl]]></dc:creator>
		<pubDate>Tue, 05 Aug 2025 14:22:09 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<guid isPermaLink="false">https://woosoftwarelicense.com/?p=1049</guid>

					<description><![CDATA[<p>The WP Software License plugin seamlessly integrates with the WooCommerce Subscription plugin to enable the sale of products and services with recurring payments. This integration provides a robust solution for managing licenses for recurring products, ensuring an efficient and automated workflow. Key Features and Benefits Seamless Integration: WP Software License works effortlessly with WooCommerce Subscriptions, [&#8230;]</p>
<p>The post <a href="https://wpsoftwarelicense.com/compatibility-woocommerce-subscriptions/">Compatibility with WooCommerce Subscriptions plugin</a> appeared first on <a href="https://wpsoftwarelicense.com">WP Software License for WooCommerce</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>The WP Software License plugin seamlessly integrates with the <a href="https://woocommerce.com/products/woocommerce-subscriptions/" target="_blank" rel="noopener">WooCommerce Subscription</a> plugin to enable the sale of products and services with recurring payments. This integration provides a robust solution for managing licenses for recurring products, ensuring an efficient and automated workflow.</p>
<h4>Key Features and Benefits</h4>
<ul>
<li><strong>Seamless Integration</strong>: WP Software License works effortlessly with WooCommerce Subscriptions, supporting both Simple and Variable Subscriptions.</li>
<li><strong>Automated Workflow</strong>: The plugin automatically manages the licensing workflow. When a subscription expires or is canceled, the associated licenses are updated accordingly.</li>
<li><strong>Easy Setup</strong>: Setting up the WP Software License with WooCommerce Subscriptions is straightforward, providing a user-friendly interface and comprehensive options for customization.</li>
</ul>
<p><span id="more-1049"></span></p>
<h4>Setting Up WP Software License with WooCommerce Subscriptions</h4>
<ol>
<li><strong>Install and Activate Plugins</strong>:
<ul>
<li>Ensure both WP Software License and WooCommerce Subscriptions plugins are installed and activated on your WooCommerce store.</li>
</ul>
</li>
<li><strong>Create a Subscription Producto or use any already existing</strong>:
<ul>
<li>Navigate to the WooCommerce Products page and create a new product.</li>
<li>Select &#8220;Simple subscription&#8221; or &#8220;Variable subscription&#8221; from the Product Data dropdown menu.</li>
<li>Configure the subscription details such as price, billing interval, and expiration settings.</li>
</ul>
</li>
<li><strong>Configure License Settings</strong>:
<ul>
<li>Fill in the <a href="https://wpsoftwarelicense.com/documentation/fill-in-licensing-details/">Licensing Data</a> as to described in the article.</li>
</ul>
</li>
<li><strong>Integrate License with Subscription</strong>:
<ul>
<li>When a subscription is purchased, the license will be issued automatically.</li>
<li>If the subscription is canceled or expires, the license status will automatically update to reflect the change.</li>
</ul>
</li>
</ol>
<p><img fetchpriority="high" decoding="async" class="alignnone size-full wp-image-1053" src="https://wpsoftwarelicense.com/wp-content/uploads/2019/02/woocommerce-software-license-subscription-integration.jpg" alt="" width="1126" height="578" srcset="https://wpsoftwarelicense.com/wp-content/uploads/2019/02/woocommerce-software-license-subscription-integration.jpg 1126w, https://wpsoftwarelicense.com/wp-content/uploads/2019/02/woocommerce-software-license-subscription-integration-600x308.jpg 600w, https://wpsoftwarelicense.com/wp-content/uploads/2019/02/woocommerce-software-license-subscription-integration-300x154.jpg 300w, https://wpsoftwarelicense.com/wp-content/uploads/2019/02/woocommerce-software-license-subscription-integration-768x394.jpg 768w, https://wpsoftwarelicense.com/wp-content/uploads/2019/02/woocommerce-software-license-subscription-integration-1024x526.jpg 1024w" sizes="(max-width: 1126px) 100vw, 1126px" /></p>
<p>&nbsp;</p>
<h4>Streamlined Subscription Management</h4>
<p>The integration of WP Software License with WooCommerce Subscriptions offers a powerful and flexible tool for managing recurring payments and licenses. This integration is ideal for businesses looking to streamline the process of providing licenses for both virtual and physical products on a subscription basis.</p>
<p>One of the standout features of this integration is the automated workflow that ensures licensing changes are automatically reflected based on the subscription status. When a subscription is active, the corresponding license remains valid. If the subscription expires or is canceled, the license status is updated accordingly, removing the need for manual intervention. This automation provides a seamless experience for both store owners and customers, ensuring that licenses are always up-to-date with the subscription&#8217;s status.</p>
<p>Additionally, the WP Software License plugin offers versatile options for license key management. License keys can either be generated dynamically or pre-saved for distribution. This flexibility allows businesses to tailor their licensing approach to meet specific needs, whether they are distributing software, digital content, or physical products that require a license.</p>
<p>For example, software companies can use dynamically generated keys to provide unique licenses for each subscriber, ensuring security and personalization. On the other hand, businesses selling physical products that include a software component can pre-save license keys, which are then provided to customers upon purchase and subscription activation.</p>
<p>Overall, the integration of WP Software License with WooCommerce Subscriptions enhances the capability of any WooCommerce store, making it an essential tool for efficiently managing recurring billing and licensing for a wide range of products and services. For more detailed setup instructions and customization options, visit the <a href="https://wpsoftwarelicense.com/documentation/" rel="noreferrer">WP Software License Documentation</a>.</p>
<p>The post <a href="https://wpsoftwarelicense.com/compatibility-woocommerce-subscriptions/">Compatibility with WooCommerce Subscriptions plugin</a> appeared first on <a href="https://wpsoftwarelicense.com">WP Software License for WooCommerce</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://wpsoftwarelicense.com/compatibility-woocommerce-subscriptions/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>Why use software licensing for your Product</title>
		<link>https://wpsoftwarelicense.com/why-use-software-licensing-for-your-product/</link>
					<comments>https://wpsoftwarelicense.com/why-use-software-licensing-for-your-product/#respond</comments>
		
		<dc:creator><![CDATA[woocommerce-sl]]></dc:creator>
		<pubDate>Wed, 01 Mar 2023 14:06:54 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<guid isPermaLink="false">https://wpsoftwarelicense.com/?p=1913</guid>

					<description><![CDATA[<p>Software licensing is the process of providing authorized use of a software program to a user or organization in exchange for payment. Software licensing allows the developer or vendor to protect their intellectual property rights while also providing a reliable source of revenue. One of the primary advantages of licensing software is that it enables [&#8230;]</p>
<p>The post <a href="https://wpsoftwarelicense.com/why-use-software-licensing-for-your-product/">Why use software licensing for your Product</a> appeared first on <a href="https://wpsoftwarelicense.com">WP Software License for WooCommerce</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><a href="https://wpsoftwarelicense.com/documentation/selling-licensed-products-workflow/">Software licensing</a> is the process of providing authorized use of a software program to a user or organization in exchange for payment. Software licensing allows the developer or vendor to protect their intellectual property rights while also providing a reliable source of revenue. One of the primary advantages of licensing software is that it enables developers to control and manage the distribution of their software.<br />
<span id="more-1913"></span></p>
<p>The process of licensing, delivering, and protecting software can be complex. However, by utilizing licensing technologies such as our WP Software License for WooCommerce, developers can streamline the process of protecting their software and ensuring that it is delivered to customers securely. License keys are one of the most popular ways of achieving this.</p>
<p>License keys are unique codes that are used to activate a software license. They can be generated automatically and are typically sent to customers via email or provided through a web portal. When the license key is entered into the software, it unlocks access to the full version of the software, and the user is free to use it.</p>
<p>One of the benefits of using license keys is that they allow developers to control <a href="https://wpsoftwarelicense.com/documentation/wordpress-plugin-autoupdate-api-integration-code-example/">software updates</a> and support. With a license key, developers can track which version of the software the user is running and ensure that updates are delivered only to those who are entitled to receive them. This not only ensures that users have access to the latest features but also helps to prevent unauthorized use of the software.</p>
<p>WP Software License for WooCommerce is also a popular choice for subscription-based models. By licensing their software on a subscription basis, developers can ensure that they receive a regular income from their customers. Subscriptions can be customized to suit the needs of individual users, and developers can offer different pricing tiers and subscription durations.</p>
<p>Another advantage of using software licensing is the ability to track active licenses and deployments. Developers can use licensing technologies to monitor how many licenses are being used and where they are being used. This information can help developers to identify areas where their software is in high demand and to optimize their pricing and licensing models accordingly.</p>
<p>In summary, software licensing and the use of license keys provide developers with a reliable way of controlling and managing the distribution of their software. By utilizing licensing technologies, developers can protect their intellectual property, ensure that software updates and support are delivered securely, and monitor their software usage and deployments.</p>
<p>The post <a href="https://wpsoftwarelicense.com/why-use-software-licensing-for-your-product/">Why use software licensing for your Product</a> appeared first on <a href="https://wpsoftwarelicense.com">WP Software License for WooCommerce</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://wpsoftwarelicense.com/why-use-software-licensing-for-your-product/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Create logs on API calls for specific customers license keys</title>
		<link>https://wpsoftwarelicense.com/create-logs-on-api-calls-for-specific-customers-license-keys/</link>
					<comments>https://wpsoftwarelicense.com/create-logs-on-api-calls-for-specific-customers-license-keys/#respond</comments>
		
		<dc:creator><![CDATA[woocommerce-sl]]></dc:creator>
		<pubDate>Mon, 23 May 2022 07:49:29 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<guid isPermaLink="false">https://woosoftwarelicense.com/?p=1687</guid>

					<description><![CDATA[<p>The WP Software License API is the core module of the plugin. It allows easy interaction of customer applications with the licensing system. The implementation is straightforward and consists of GET / POST calls to the domain, as shown in the Software API Integration code example. Also, detailed code examples can be provided upon request. [&#8230;]</p>
<p>The post <a href="https://wpsoftwarelicense.com/create-logs-on-api-calls-for-specific-customers-license-keys/">Create logs on API calls for specific customers license keys</a> appeared first on <a href="https://wpsoftwarelicense.com">WP Software License for WooCommerce</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>The <a href="https://wpsoftwarelicense.com/documentation/api-methods/">WP Software License API</a> is the core module of the plugin. It allows easy interaction of customer applications with the licensing system. The implementation is straightforward and consists of GET / POST calls to the domain, as shown in the <a href="https://wpsoftwarelicense.com/documentation/software-api-integration-code-example/">Software API Integration code example</a>. Also, detailed code examples can be provided upon request. <span id="more-1687"></span></p>
<p>Debugging API interaction is simple, calling the arguments using raw URL, returns the actual API response that the customer application receives. When this is not possible, a log can be created on the API machine, which will record all calls and responses for a specific license key ( customer ) or a list of keys. To achieve this feature a simple code can be used. This should be placed within /wp-content/mu-plugins/woosl-custom.php  The name should be preserved as woosl-custom.php to ensure the system loads the code when using API Cache. </p>
<pre class="brush: php; title: ; notranslate">
    add_filter( 'WOOSL/API_call/response', '__woosl_api_call_response__log', 10, 2 );
    function __woosl_api_call_response__log ( $response, $args )
        {
            
            $log_keys   =   array (
                                    '57285638-4a95bb52-187l7ddf'  
                                    );
               
            if ( ! isset ( $_REQUEST&#x5B;'licence_key'] )     ||    ! in_array ( $_REQUEST&#x5B;'licence_key'], $log_keys ) )
                return $response;
                
            
            $log    =    &quot;--------------------------\n&quot;;
            $log    .=   &quot;A new call at &quot;. date(&quot;Y-m-d H:i:s&quot;) .&quot;\n&quot;;
            $log    .=   &quot;Call GET request &quot; . print_r( $_GET, TRUE ) .&quot;\n&quot;;
            $log    .=   &quot;Call POST request &quot; . print_r( $_POST, TRUE ) .&quot;\n&quot;;
            $log    .=   &quot;Response is &quot; . print_r( $response, TRUE ) .&quot;\n&quot;;
            
            //creates the log on WordPress root
            $Logfile = fopen(&quot;WooSL_log.txt&quot;, &quot;a&quot;);
            fwrite( $Logfile, $log );
            fclose( $Logfile );

            return $response;    
        }
</pre>
<p>The post <a href="https://wpsoftwarelicense.com/create-logs-on-api-calls-for-specific-customers-license-keys/">Create logs on API calls for specific customers license keys</a> appeared first on <a href="https://wpsoftwarelicense.com">WP Software License for WooCommerce</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://wpsoftwarelicense.com/create-logs-on-api-calls-for-specific-customers-license-keys/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Manage the Expire / Subscription licenses</title>
		<link>https://wpsoftwarelicense.com/manage-expire-subscription-licenses/</link>
					<comments>https://wpsoftwarelicense.com/manage-expire-subscription-licenses/#respond</comments>
		
		<dc:creator><![CDATA[woocommerce-sl]]></dc:creator>
		<pubDate>Thu, 20 Jan 2022 08:35:25 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<category><![CDATA[how to]]></category>
		<guid isPermaLink="false">https://woosoftwarelicense.com/?p=1589</guid>

					<description><![CDATA[<p>Creating Expire for Licenses, subscriptions through YITH WooCommerce Subscription or WooCommerce Subscriptions is straightforward using the WP Software License. This is controlled through an option within the Product license area: Depending on the active plugins on your side, the above options becomes selectable. For easy management and track of all existing customers and their license [&#8230;]</p>
<p>The post <a href="https://wpsoftwarelicense.com/manage-expire-subscription-licenses/">Manage the Expire / Subscription licenses</a> appeared first on <a href="https://wpsoftwarelicense.com">WP Software License for WooCommerce</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Creating <a href="https://wpsoftwarelicense.com/documentation/create-expiration-for-license-product/">Expire for Licenses</a>, subscriptions through <a href="https://wpsoftwarelicense.com/sell-licensed-software-using-yith-woocommerce-subscription/">YITH WooCommerce Subscription</a> or <a href="https://wpsoftwarelicense.com/compatibility-woocommerce-subscriptions/">WooCommerce Subscriptions</a> is straightforward using the WP Software License. This is controlled through an option within the Product license area:</p>
<p><img decoding="async" class="alignnone size-full wp-image-1592" src="https://wpsoftwarelicense.com/wp-content/uploads/2022/01/woosoftwarelicense-expire-subscription-selection.jpg" alt="" width="437" height="177" srcset="https://wpsoftwarelicense.com/wp-content/uploads/2022/01/woosoftwarelicense-expire-subscription-selection.jpg 437w, https://wpsoftwarelicense.com/wp-content/uploads/2022/01/woosoftwarelicense-expire-subscription-selection-300x122.jpg 300w" sizes="(max-width: 437px) 100vw, 437px" /></p>
<p>Depending on the active plugins on your side, the above options becomes selectable.<span id="more-1589"></span></p>
<p>For easy management and track of all existing customers and their license keys, the plugin implements a dedicated interface as <a href="https://wpsoftwarelicense.com/documentation/product-licence-management-admin-interface/">Licenses</a>. Within the area, each of the keys appears along with its own appropriate details:</p>
<p><img decoding="async" class="alignnone size-full wp-image-1595" src="https://wpsoftwarelicense.com/wp-content/uploads/2022/01/woosoftwarelicense-license-management.jpg" alt="" width="1287" height="463" srcset="https://wpsoftwarelicense.com/wp-content/uploads/2022/01/woosoftwarelicense-license-management.jpg 1287w, https://wpsoftwarelicense.com/wp-content/uploads/2022/01/woosoftwarelicense-license-management-300x108.jpg 300w, https://wpsoftwarelicense.com/wp-content/uploads/2022/01/woosoftwarelicense-license-management-1024x368.jpg 1024w, https://wpsoftwarelicense.com/wp-content/uploads/2022/01/woosoftwarelicense-license-management-768x276.jpg 768w, https://wpsoftwarelicense.com/wp-content/uploads/2022/01/woosoftwarelicense-license-management-600x216.jpg 600w" sizes="(max-width: 1287px) 100vw, 1287px" /></p>
<p>As default, the following columns are available for the table:</p>
<ul>
<li>Order ID</li>
<li>Key / Licence Status</li>
<li>Product</li>
<li>Customer</li>
<li>Licence Group</li>
<li>Licence Key</li>
<li>Expire</li>
<li>Key Date</li>
<li>Active Domain</li>
<li>Actions</li>
</ul>
<p>The columns can change through the Screen Option or programmatically using a custom filter as details on <a href="https://wpsoftwarelicense.com/add-custom-columns-dashboard-licences-interface/">Add custom columns to dashboard Licences interface</a>.</p>
<p>Using the top header options, the License list becomes filterable. This helps to easily visualize the required chunk of licenses with a specific status or attribute:</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-1599" src="https://wpsoftwarelicense.com/wp-content/uploads/2022/01/woosoftwarelicense-header-options.jpg" alt="" width="738" height="143" srcset="https://wpsoftwarelicense.com/wp-content/uploads/2022/01/woosoftwarelicense-header-options.jpg 738w, https://wpsoftwarelicense.com/wp-content/uploads/2022/01/woosoftwarelicense-header-options-300x58.jpg 300w, https://wpsoftwarelicense.com/wp-content/uploads/2022/01/woosoftwarelicense-header-options-600x116.jpg 600w" sizes="auto, (max-width: 738px) 100vw, 738px" /></p>
<p>The list is dynamically populated, depending on the found licenses types within the system at a given point. The default fields are:</p>
<ul>
<li>All &#8211; list all license keys.</li>
<li>Active &#8211; all licenses with active status.</li>
<li>Inactive &#8211; show items with inactive statuses.</li>
<li>Expired &#8211; outputs the expired licenses, for which the expiration data has outdated and no extend occurred.</li>
<li>Not Acticated &#8211; all license keys not yet activated ( if using the <i>Start the Expire on activate</i> option ).</li>
<li>Cancelled &#8211; list items with cancelled status.</li>
<li>Active Orders( Using Expire ) &#8211; show active orders using expire / subscription</li>
</ul>
<p>The <strong>Active Orders( Using Expire )</strong> filter, outputs all Active Orders with licensing set-up, using either internal Expire functionality or Subscription for WooCommerce Subscriptions / YITH WooCommerce Subscription. This is a straightforward function to facilitate the visualisation of all non-expired, on-going subscription types licenses.</p>
<p>&nbsp;</p>
<p>The post <a href="https://wpsoftwarelicense.com/manage-expire-subscription-licenses/">Manage the Expire / Subscription licenses</a> appeared first on <a href="https://wpsoftwarelicense.com">WP Software License for WooCommerce</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://wpsoftwarelicense.com/manage-expire-subscription-licenses/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Sell licensed software using YITH WooCommerce Subscription</title>
		<link>https://wpsoftwarelicense.com/sell-licensed-software-using-yith-woocommerce-subscription/</link>
					<comments>https://wpsoftwarelicense.com/sell-licensed-software-using-yith-woocommerce-subscription/#respond</comments>
		
		<dc:creator><![CDATA[woocommerce-sl]]></dc:creator>
		<pubDate>Tue, 05 Oct 2021 10:57:46 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<guid isPermaLink="false">https://woosoftwarelicense.com/?p=1491</guid>

					<description><![CDATA[<p>WooCommerce is an excellent WordPress plugin tool, that allows you to sell anything online. It&#8217;s free, open-source, and offers wide-ranging addons including payment solutions. Selling licensed software through WooCommerce has never been easier before, thanks to WP Software License. It features lots of great functions, provided out of the box, configurable through WooCommerce, and additional [&#8230;]</p>
<p>The post <a href="https://wpsoftwarelicense.com/sell-licensed-software-using-yith-woocommerce-subscription/">Sell licensed software using YITH WooCommerce Subscription</a> appeared first on <a href="https://wpsoftwarelicense.com">WP Software License for WooCommerce</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>WooCommerce is an excellent WordPress plugin tool, that allows you to sell anything online. It&#8217;s free, open-source, and offers wide-ranging addons including payment solutions. Selling licensed software through WooCommerce has never been easier before, thanks to WP Software License. It features lots of great functions, provided out of the box, configurable through WooCommerce, and additional settings.<br />
<span id="more-1491"></span></p>
<p>As soon as you start to sell your products via the WooCommerce store, you may start worrying that someone will copy your products or just change a few things then sell them as their own. WP Software License is a plugin that helps you manage product licensing, software update, maintenance, and code protection all in one place. It helps to calculate the license renewal date, alert the user when the license is about to expire, can help you avoid copyright infringement.</p>
<p><a href="https://yithemes.com/themes/plugins/yith-woocommerce-subscription/" target="_blank" rel="noopener">The YITH WooCommerce Subscription</a> plugin is a WordPress plugin that allows you to sell products efficiently. It&#8217;s perfect for people who are not experts in WooCommerce but want to have a successful online store. You no longer need to create an account, select the subscriptions pricing plan, or upgrade manually. The YITH WooCommerce Subscription plugin does everything for you!</p>
<p>Selling subscriptions for a product is the best way for a self-sustaining business model. This approach ensures the availability of required resources for the development team to continue code improvements and support over the product. The WP Software License integrates seamlessly with YITH WooCommerce Subscription.</p>
<p>The subscription plugin support any product type, it can be a Simple Product or a Variable. Creating the relationship on the subscribed product and the license is self explanatory to achieve through the product page:</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-1500" src="https://wpsoftwarelicense.com/wp-content/uploads/2021/10/yith-subscription-license-selection.jpg" alt="" width="808" height="511" srcset="https://wpsoftwarelicense.com/wp-content/uploads/2021/10/yith-subscription-license-selection.jpg 808w, https://wpsoftwarelicense.com/wp-content/uploads/2021/10/yith-subscription-license-selection-300x190.jpg 300w, https://wpsoftwarelicense.com/wp-content/uploads/2021/10/yith-subscription-license-selection-768x486.jpg 768w, https://wpsoftwarelicense.com/wp-content/uploads/2021/10/yith-subscription-license-selection-600x379.jpg 600w" sizes="auto, (max-width: 808px) 100vw, 808px" /></p>
<p>The existing subscriptions are automatically managed by the plugin, there is no maintenance work required whatsoever.</p>
<p>The post <a href="https://wpsoftwarelicense.com/sell-licensed-software-using-yith-woocommerce-subscription/">Sell licensed software using YITH WooCommerce Subscription</a> appeared first on <a href="https://wpsoftwarelicense.com">WP Software License for WooCommerce</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://wpsoftwarelicense.com/sell-licensed-software-using-yith-woocommerce-subscription/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Add a custom licence key on order completed</title>
		<link>https://wpsoftwarelicense.com/add-custom-licence-key-order-completed/</link>
					<comments>https://wpsoftwarelicense.com/add-custom-licence-key-order-completed/#respond</comments>
		
		<dc:creator><![CDATA[woocommerce-sl]]></dc:creator>
		<pubDate>Tue, 26 Nov 2019 19:41:25 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<guid isPermaLink="false">https://woosoftwarelicense.com/?p=1154</guid>

					<description><![CDATA[<p>As default, when order completed (or pending) the plugin generate a licence key or extract one from the pre-defined list of keys. This is a common set-up for the majority of sites which is very easy to achieve through the WP Software License plugin. There are situations when the key is required to be retrieved [&#8230;]</p>
<p>The post <a href="https://wpsoftwarelicense.com/add-custom-licence-key-order-completed/">Add a custom licence key on order completed</a> appeared first on <a href="https://wpsoftwarelicense.com">WP Software License for WooCommerce</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>As default, when order completed (or pending) the plugin generate a licence key or extract one from the <a href="https://wpsoftwarelicense.com/documentation/set-pre-generated-licence-keys-woocommerce-software-license/">pre-defined list of keys</a>.  This is a common set-up for the majority of sites which is very easy to achieve through the WP Software License plugin.<br />
<span id="more-1154"></span></p>
<p>There are situations when the key is required to be retrieved from a 3rd API, at the order completed, which will be delivered to customer. This is easy to achieve through a programmable filer. The following code does just that:</p>
<pre class="brush: php; title: ; notranslate">
    add_action('woocommerce_order_item_meta_end', 'retrieve_custom_license_keys', 1, 3);
    function retrieve_custom_license_keys( $item_id, $item, $order )
        {
            global $wpdb;
            
            $order_data     = new WC_Order( $order-&gt;get_ID() );
     
            $order_products =   $order_data-&gt;get_items();
     
            $license_active_for_status  =   array ( 'completed' );
            
            $time           = date(&quot;Y-m-d H:i:s&quot;, time());
            
            //iterate all order items and check for any licence
            foreach( $order_products    as  $order_item_id  =&gt;  $order_data )
                {
                    if ( ! WOO_SL_functions::is_order_item_licensed ( $order-&gt;get_ID() , $order_item_id ) )
                        continue;
                    
                    if( in_array ( $order-&gt;get_status(), $license_active_for_status ) ===  FALSE )
                        continue;
                    
                    $_woo_sl    =   WOO_SL_functions::get_order_item_meta($order_item_id,  '_woo_sl',  TRUE);
                    if(!    is_array($_woo_sl))
                        continue;
                    
                    foreach($_woo_sl&#x5B;'group_title']    as  $_group_id    =&gt;  $_group_title)
                        {
                            $license_keys   =   (array)WOO_SL_functions::get_order_product_generated_keys( $order-&gt;get_ID(), $order_item_id, $_group_id );
                            if(count($license_keys) &gt; 0)
                                continue;
                            
                            
                            //retrieve the licence key from the 3rd API
                            $new_licence_key    =   '.....';
                            
                            
                             
                            //insert the key on database
                            $mysql_query    =   &quot;INSERT INTO &quot;. $wpdb-&gt;prefix . &quot;woocommerce_software_licence  ( `order_id`, `order_item_id`, `group_id`, `licence`, `created` ) 
                                                        VALUES ( '&quot;. $order-&gt;get_ID() .&quot;', '&quot;. $order_item_id .&quot;', '&quot;. $_group_id .&quot;', '&quot;.  $new_licence_key  .&quot;', '&quot;. $time .&quot;')&quot;;
                            $result         =   $wpdb-&gt;get_results( $mysql_query );
                        }
                                           
                }
     
        }
</pre>
<p>The above code should be place inside theme functions.php file or a custom plugin.</p>
<p>The post <a href="https://wpsoftwarelicense.com/add-custom-licence-key-order-completed/">Add a custom licence key on order completed</a> appeared first on <a href="https://wpsoftwarelicense.com">WP Software License for WooCommerce</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://wpsoftwarelicense.com/add-custom-licence-key-order-completed/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Add custom columns to dashboard Licences interface</title>
		<link>https://wpsoftwarelicense.com/add-custom-columns-dashboard-licences-interface/</link>
					<comments>https://wpsoftwarelicense.com/add-custom-columns-dashboard-licences-interface/#respond</comments>
		
		<dc:creator><![CDATA[woocommerce-sl]]></dc:creator>
		<pubDate>Fri, 01 Feb 2019 17:59:13 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<guid isPermaLink="false">https://woosoftwarelicense.com/?p=1029</guid>

					<description><![CDATA[<p>The dashboard licence interface display all licence keys available for all customers on the site. This is the place where the admin can easily manage keys. As default the interface include the following columns: Order ID Key / Licence Status Product Customer Licence Group Licence Key Expire Key Date Active Domain Actions Through filters, custom [&#8230;]</p>
<p>The post <a href="https://wpsoftwarelicense.com/add-custom-columns-dashboard-licences-interface/">Add custom columns to dashboard Licences interface</a> appeared first on <a href="https://wpsoftwarelicense.com">WP Software License for WooCommerce</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>The dashboard licence interface display all licence keys available for all customers on the site. This is the place where the admin can easily manage keys. As default the interface include the following columns:</p>
<ul>
<li>Order ID</li>
<li>Key / Licence Status</li>
<li>Product</li>
<li>Customer</li>
<li>Licence Group</li>
<li>Licence Key</li>
<li>Expire</li>
<li>Key Date</li>
<li>Active Domain</li>
<li>Actions</li>
</ul>
<p><span id="more-1029"></span><img loading="lazy" decoding="async" class="alignnone size-full wp-image-1034" src="https://wpsoftwarelicense.com/wp-content/uploads/2019/02/woosoftwarelicence-licence-interface.jpg" alt="" width="1444" height="590" srcset="https://wpsoftwarelicense.com/wp-content/uploads/2019/02/woosoftwarelicence-licence-interface.jpg 1444w, https://wpsoftwarelicense.com/wp-content/uploads/2019/02/woosoftwarelicence-licence-interface-600x245.jpg 600w, https://wpsoftwarelicense.com/wp-content/uploads/2019/02/woosoftwarelicence-licence-interface-300x123.jpg 300w, https://wpsoftwarelicense.com/wp-content/uploads/2019/02/woosoftwarelicence-licence-interface-768x314.jpg 768w, https://wpsoftwarelicense.com/wp-content/uploads/2019/02/woosoftwarelicence-licence-interface-1024x418.jpg 1024w" sizes="auto, (max-width: 1444px) 100vw, 1444px" /></p>
<p>Through filters, custom columns can be added to the interface. The following example display the renew price for a licence, if apply:</p>
<pre class="brush: php; title: ; notranslate">

    add_filter('manage_woocommerce_page_sl-licences_columns',    'manage_woocommerce_page_sl_licences_columns');
    function manage_woocommerce_page_sl_licences_columns( $columns )
        {
            
            $columns&#x5B;'renew_price']  =   'Renew Price';
               
            return $columns;   
        }
        
    add_action ('manage_woocommerce_page_sl-licences_column_renew_price', 'manage_woocommerce_page_sl_licences_column_renew_price');
    function manage_woocommerce_page_sl_licences_column_renew_price( $item )
        {
            global $WOO_SL;
            
            $order_item_woo_sl          =   $WOO_SL-&amp;amp;gt;functions-&amp;amp;gt;get_order_item_meta( $item-&amp;amp;gt;order_item_id, '_woo_sl');
            //use the first group
            reset($order_item_woo_sl&#x5B;'group_title']);
            $use_key    =   key( $order_item_woo_sl&#x5B;'group_title'] );  
            
            if  ( $order_item_woo_sl&#x5B;'product_use_expire']&#x5B;$use_key] != 'yes' )
                return;
                
            echo wc_price ( $order_item_woo_sl&#x5B;'product_expire_renew_price']&#x5B;$use_key] ) ;
            
        }
</pre>
<p>The post <a href="https://wpsoftwarelicense.com/add-custom-columns-dashboard-licences-interface/">Add custom columns to dashboard Licences interface</a> appeared first on <a href="https://wpsoftwarelicense.com">WP Software License for WooCommerce</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://wpsoftwarelicense.com/add-custom-columns-dashboard-licences-interface/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Add additional licence details on Products archive page</title>
		<link>https://wpsoftwarelicense.com/add-additional-licence-details-products-archive-page/</link>
					<comments>https://wpsoftwarelicense.com/add-additional-licence-details-products-archive-page/#respond</comments>
		
		<dc:creator><![CDATA[woocommerce-sl]]></dc:creator>
		<pubDate>Fri, 07 Dec 2018 07:39:13 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[code example]]></category>
		<guid isPermaLink="false">https://woosoftwarelicense.com/?p=1001</guid>

					<description><![CDATA[<p>For an easier Product management, additional details within admin dashboard on Products archive might come in handy. This is easy to achieve through the default WordPress filter manage_product_posts_custom_column This reduce the maintenance time and let the administrator to focus on important aspects of the site. The next code example add the licensed product version nwxt [&#8230;]</p>
<p>The post <a href="https://wpsoftwarelicense.com/add-additional-licence-details-products-archive-page/">Add additional licence details on Products archive page</a> appeared first on <a href="https://wpsoftwarelicense.com">WP Software License for WooCommerce</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>For an easier Product management, additional details within admin dashboard on Products archive might come in handy. This is easy to achieve through the default WordPress filter <strong>manage_product_posts_custom_column</strong> This reduce the maintenance time and let the administrator to focus on important aspects of the site.<span id="more-1001"></span></p>
<p>The next code example add the licensed <a href="https://wpsoftwarelicense.com/documentation/create-a-licensed-product/">product version</a> nwxt to the Product name within the archive interface:</p>
<pre class="brush: php; title: ; notranslate">
    add_filter( 'manage_product_posts_custom_column', 'admin_product_title_version', 99, 2 );
    function admin_product_title_version( $column, $postid ) 
        {
            if ( 'name' === $column ) 
                {
                    $product = wc_get_product( $postid );
                    if ( 'yes' === $product-&gt;get_meta('_sl_enabled') ) 
                        {
                            printf(
                                '
&lt;strong&gt;v %s&lt;/strong&gt;',
                                $product-&gt;get_meta('_sl_new_version')
                            );
                        }
                }
        }
</pre>
<p>The above code can be included within theme functions.php, within a custom plugin or mu-plugins folder. The expected results appear like this:</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-1004" src="https://wpsoftwarelicense.com/wp-content/uploads/2018/12/woosoftwarelicence-products-additional-version.jpg" alt="" width="890" height="449" srcset="https://wpsoftwarelicense.com/wp-content/uploads/2018/12/woosoftwarelicence-products-additional-version.jpg 890w, https://wpsoftwarelicense.com/wp-content/uploads/2018/12/woosoftwarelicence-products-additional-version-600x303.jpg 600w, https://wpsoftwarelicense.com/wp-content/uploads/2018/12/woosoftwarelicence-products-additional-version-300x151.jpg 300w, https://wpsoftwarelicense.com/wp-content/uploads/2018/12/woosoftwarelicence-products-additional-version-768x387.jpg 768w" sizes="auto, (max-width: 890px) 100vw, 890px" /></p>
<p>Other licensing fields can be used too, as follow:</p>
<ul>
<li>_sl_software_title</li>
<li>_sl_software_unique_title</li>
<li>_sl_plugin_url</li>
<li>_sl_product_expire_units</li>
<li>_sl_product_expire_time</li>
<li>_sl_version_required</li>
<li>_sl_tested_up_to</li>
<li>_sl_last_updated</li>
<li>_sl_update_nottice</li>
</ul>
<p>The post <a href="https://wpsoftwarelicense.com/add-additional-licence-details-products-archive-page/">Add additional licence details on Products archive page</a> appeared first on <a href="https://wpsoftwarelicense.com">WP Software License for WooCommerce</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://wpsoftwarelicense.com/add-additional-licence-details-products-archive-page/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
