add_filter( ‘woocommerce_product_description_heading’, ‘custom_change_description_heading_for_specific_categories’ ); function custom_change_description_heading_for_specific_categories( $heading ) { global $product; if ( ! is_product() || ! $product instanceof WC_Product ) { return $heading; } // Check if product has either ‘meals’ or ‘snacks’ category if ( has_term( [ ‘meals’,…Continue reading
add_filter( ‘manage_edit-shop_order_columns’, ‘bbloomer_add_new_order_admin_list_column’ ); function bbloomer_add_new_order_admin_list_column( $columns ) { $columns[‘item_count’] = ‘Item Count’; return $columns; } add_action( ‘manage_shop_order_posts_custom_column’, ‘bbloomer_add_new_order_admin_list_column_content’ ); function bbloomer_add_new_order_admin_list_column_content( $column ) { global $post; if ( ‘item_count’ === $column ) { $order = wc_get_order( $post->ID ); echo…Continue reading
add_shortcode(‘papa_macros_discount_message’, ‘papa_macros_discount_message_shortcode’); function papa_macros_discount_message_shortcode() { if ( ! function_exists(‘WC’) || ! WC()->cart ) { return ”; } $cart = WC()->cart; $manual_subtotal = 0; foreach ( $cart->get_cart() as $item ) { if ( ! isset($item[‘data’]) || ! is_object($item[‘data’]) ) continue; $price…Continue reading
/* * PG Search Results — Direct MySQL query on people_groups table * Type: php * Location: frontend_cl * Tags: search, results-page * * Reads the `swps` GET parameter (SearchWP search term), queries the * people_groups table with LIKE across…Continue reading
// migration script (safe version) add_action(‘init’, function() { // 🔒 Only run if explicitly triggered if (!isset($_GET[‘run_license_migration’])) return; // 🔒 Only admins if (!current_user_can(‘administrator’)) { wp_die(‘Not allowed’); } // 🔒 Prevent running twice if (get_option(‘ibw_license_migration_done’)) { echo ‘Migration already completed.’;…Continue reading
/** * Fix: WPForms Prefill by URL takes priority over Geolocation Current Location. * * When “Current Location” is enabled in WPForms > Settings > Geolocation, * the geolocation JS overwrites address fields that were pre-filled via URL * parameters…Continue reading
/** * Hide Venmo and Pay Later buttons from PayPal Commerce field. * Also hides Apple Pay, Google Pay buttons and Pay Later messages. * * @link https://wpforms.com/developers/wpforms_wp_footer_end/ */ function wpf_hide_paypal_commerce_buttons() { ?>Continue reading
/** * PayPal Commerce customizations for form 877: * – Horizontal layout for payment buttons * – Disable card funding source from SDK * – Hide “Powered by PayPal” element * * @link https://wpforms.com/developers/wpforms_wp_footer_end/ */ // Inject CSS for horizontal…Continue reading
add_filter( ‘woocommerce_product_single_add_to_cart_text’, ‘saphie_custom_add_to_cart_text’ ); add_filter( ‘woocommerce_product_add_to_cart_text’, ‘saphie_custom_add_to_cart_text’ ); function saphie_custom_add_to_cart_text() { return ‘ADD TO BAG’; }Continue reading
function allow_additional_mime_types($mime_types) { $mime_types[‘jpeg’] = ‘image/jpeg’; $mime_types[‘svg’] = ‘image/svg+xml’; $mime_types[‘webp’] = ‘image/webp’; $mime_types[‘avif’] = ‘image/avif’; $mime_types[‘ico’] = ‘image/vnd.microsoft.icon’; return $mime_types; } add_filter(‘upload_mimes’, ‘allow_additional_mime_types’);Continue reading