Skip to content

Instantly share code, notes, and snippets.

View shameemreza's full-sized avatar
🇧🇩
Problem-Solver | WooCommerce Expert | Customer-First Mindset

Shameem Reza shameemreza

🇧🇩
Problem-Solver | WooCommerce Expert | Customer-First Mindset
View GitHub Profile
@shameemreza
shameemreza / add-gtin-to-quick-edit.php
Created December 8, 2025 10:52
Adds a GTIN field to the WooCommerce Quick Edit panel, allowing store managers to view and update GTIN values directly from the product list
/**
* Add GTIN Field to WooCommerce Quick Edit Panel
*
* Allows viewing and editing GTIN from the Quick Edit dropdown.
*/
/**
* Get the GTIN field label (same as product settings).
*
* @return string
@shameemreza
shameemreza / add-gtin-column-to-products-list.php
Created December 8, 2025 10:45
Adds a GTIN column to the WooCommerce Products table, making it sortable and searchable.
/**
* Add GTIN Column to WooCommerce Products List Table
*
* Adds a sortable, searchable GTIN column to Products > All Products.
*/
// Add GTIN column to products list (positioned after SKU).
add_filter( 'manage_edit-product_columns', function( $columns ) {
// Find SKU position and insert after it.
$sku_position = array_search( 'sku', array_keys( $columns ), true );
/**
* Disable Min/Max "Group of" quantity rules for bundled products.
* This allows bundled items to have a quantity of 1 even when the
* standalone product has a "Group of 6" rule.
*
* @author Shameem Reza
*/
// Product Bundles side - disable Group of for bundled item calculations.
add_filter( 'woocommerce_bundled_item_group_of_quantity', '__return_zero', 999 );
@shameemreza
shameemreza / hide-variations-for-specific-products-vaspfw.php
Created November 17, 2025 04:43
Custom code to hide variations for selected products when using the Variations as Single Products plugin.
/**
* Hide variations for specific products when using Variations as Single Products plugin
* Add product slugs to the $target_products array below
*/
add_filter( 'posts_clauses', 'vaspfw_hide_specific_variations', 99998, 2 );
function vaspfw_hide_specific_variations( $clauses, $query ) {
global $wpdb;
// Only apply to variation queries
if ( ! isset( $query->query_vars['vaspfw_single_variation_filter'] ) ||
@shameemreza
shameemreza / add-us-tariff-to-shipping.php
Created November 5, 2025 16:18
Applies a percentage-based import tariff to shipping costs for orders going to the United States. Code based on: https://woocommerce.com/document/add-a-surcharge-to-cart-and-checkout-uses-fees-api/#section-3
/**
* Add US tariff surcharge to shipping costs.
*
* Custom implementation to apply US tariffs on shipping charges
* to work alongside the WooCommerce Customs Fees plugin.
*
* @since 1.0.0
* @author Shameem Reza
*/
@shameemreza
shameemreza / fix-woocommerce-rtl-currency-position.php
Created September 17, 2025 04:43
Forces the currency symbol to display before the price and applies CSS to ensure consistent left alignment across all price contexts (cart, checkout, product pages, mini cart).
/**
* Add this code to your theme's functions.php file
* or use a code snippets plugin
*
* This fixes the currency symbol positioning for WooCommerce on RTL sites
*/
// Fix WooCommerce currency position for RTL sites
add_filter( 'woocommerce_price_format', function( $format, $currency_pos ) {
// Only apply to RTL sites with ILS currency
@shameemreza
shameemreza / product-addons-sold-individually.php
Created September 11, 2025 03:11
Fix for Product Add-Ons bypassing the Sold individually setting in WooCommerce.
/**
* Fix for Product Add-ons bypassing Sold individually setting
* Add this to the theme's functions.php or as a custom plugin
*/
add_filter( 'woocommerce_add_to_cart_validation', 'enforce_sold_individually_with_addons', 999, 5 );
function enforce_sold_individually_with_addons( $passed, $product_id, $quantity, $variation_id = 0, $variations = array() ) {
// Get the product
$product = wc_get_product( $variation_id ? $variation_id : $product_id );
@shameemreza
shameemreza / wc-reset-variations-after-add-to-cart.php
Created September 3, 2025 05:21
Automatically reset product variation selections after a successful Add to Cart (AJAX or non-AJAX).
/**
* Reset variation selections after successful add to cart
*/
add_action( 'wp_footer', function() {
if ( ! is_product() ) {
return;
}
?>
<script type="text/javascript">
jQuery(document).ready(function($) {
@shameemreza
shameemreza / custom-add-to-cart-text-bookings.php
Created August 18, 2025 02:09
Forces WooCommerce Bookings products to always show "Add to Cart" as the button text.
add_filter('woocommerce_product_add_to_cart_text', function($text, $product) {
if ($product->get_type() === 'booking') {
return __('Add to Cart', 'woocommerce');
}
return $text;
}, 10, 2);
@shameemreza
shameemreza / fix-duplicate-downloads-in-subscription-items.php
Last active August 7, 2025 01:43
Prevents WooCommerce Subscription Downloads from adding downloadable products as separate line items in subscription orders, while keeping download access intact.
/**
* Hide zero-priced downloadable products from subscription line items.
*/
function wcsd_hide_zero_priced_downloads() {
// Filter the line items display only, not affecting the actual data.
add_filter( 'woocommerce_order_get_items', 'wcsd_filter_subscription_items', 10, 3 );
// IMPORTANT: We're NOT removing the original download_permissions action
// so download permissions are still properly granted.
}