Mailchimp Banner | Q3 2024

added by Latoya. Used for Q2 and Q3 tracks IDs for Q2: sitewide_banner_mailchimp_q2_2024 tracks ID for Q3: sitewide_banner_mailchimp_q3_2024

Product Icon


by  Woo
Sell online with the flexible, customizable eCommerce platform designed to grow with your business. From your first sale to millions in revenue, Woo is with you. See why merchants trust us to power 3.4 million online stores.

Add new function – option for Free Gift for Woocommerce

Hello Woo team,

Recently, I reached out to WooCommerce support and the developer of the Free Gift for WooCommerce plugin regarding an issue and a feature suggestion. The essence of my inquiry revolves around the plugin’s inability to detect hidden products within the WooCommerce product list and their respective categories. Specifically, private products hidden from the storefront are also not recognized by the plugin due to the absence of functionality in your `rule.php` file. This file lacks logic for handling private products.

For over a year, I’ve been using a custom modification of the `rule.php` function to manually detect these products. I alter the original `rule.php` function because the plugin lacks any hooks or options to specifically identify private products. These private products are intended as surprise items, not readily visible to users unless offered as gifts. Unfortunately, the current plugin does not support working with private products.

As a workaround, I’ve implemented my own logic, shown here:

* Get the non-purchasable product.
* @return false/array
public function get_non_purchasable_product( $product_ids ) {

if (!fgf_check_is_array($product_ids)) {
return false;

$non_purchasable_statuses = array(‘private’, ‘publish’);
$non_purchasable_products = array();

foreach ($product_ids as $product_id) {
$product = wc_get_product($product_id);

if (!is_object($product) || (in_array($product->get_status(), $non_purchasable_statuses) && $product->is_purchasable() && $product->is_in_stock())) {

$non_purchasable_products[] = ” . $product->get_name() . ”;

if (!fgf_check_is_array($non_purchasable_products)) {
return false;

return implode(‘, ‘, $non_purchasable_products);

However, with each update, I must modify this function to ensure my private products can be included as gifts. It would greatly benefit the plugin’s functionality if you could add an option to handle private products in future updates. Thank you.

Free Gifts for WooCommerce



Current Status


Last updated: July 7, 2024


Log in to comment on this feature request.