Skip to content

Instantly share code, notes, and snippets.

@goranefbl
goranefbl / functions.php
Created March 25, 2025 10:54
wpgens auto apply coupon when product is added to cart
<?php
add_action( 'woocommerce_add_to_cart', 'wpgens_auto_apply_coupons_on_add_to_cart', 10, 6 );
function wpgens_auto_apply_coupons_on_add_to_cart( $cart_item_key, $product_id, $quantity, $variation_id, $variation, $cart_item_data ) {
if ( is_admin() && ! defined( 'DOING_AJAX' ) )
return;
if ( ! is_user_logged_in() )
return;
@goranefbl
goranefbl / functions.php
Created March 20, 2025 21:41
WPGens Points and Rewards hooks
<?php
/* Add points
do_action(
'wpgens_loyalty_update_points',
$user_id, // User ID
$points_amount, // Points to add (positive) or remove (negative)
WPGL_Points_Activity_Type::EARN, // Activity type (EARN or DEDUCT)
WPGL_Points_Source_Type::PLACE_ORDER, // Source type (see below)
$reference_id = null, // Optional reference ID (e.g., order ID)
@goranefbl
goranefbl / email-body-coupon.php
Last active March 14, 2025 21:13
coupon email translatable
<?php
/**
* Email Body
*
* @see https://wpgens.com/docs/how-to-edit-template-files-and-keep-them-after-plugin-update/
* @version 2.0.0
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
@goranefbl
goranefbl / email-body-share.php
Last active March 13, 2025 14:16
hardoded sharing email
<?php
/**
* Email Body for Email Share
*
* @see https://wpgens.com/docs/how-to-edit-template-files-and-keep-them-after-plugin-update/
* @version 2.0.0
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
@goranefbl
goranefbl / functions.php
Created February 26, 2025 11:57
WPGENS RAF: hide referral link for users without referral orders
<?php
add_filter('wpgens_raf_code', 'gens_raf_code', 10, 1);
function gens_raf_code($raf_code) {
$current_user = wp_get_current_user();
if (!user_has_friends($current_user->ID)) {
return 'Referral code is available only to users with friends';
}
return $raf_code;
@goranefbl
goranefbl / functions.php
Last active February 26, 2025 11:02
Hide referral link for users that spent below 300
<?php
add_filter('wpgens_raf_code', 'gens_raf_code', 10, 1);
function gens_raf_code($raf_code) {
$current_user = wp_get_current_user();
$total_spent = get_user_total_spent($current_user->ID);
if ($total_spent < 300) {
return 'Referral code is available only to users who have spent at least 300';
}
@goranefbl
goranefbl / functions.php
Last active February 18, 2025 06:53
Add product variations
<?php
add_action('gens_after_generate_user_coupon', 'add_product_ids_to_raf_coupon', 10, 4);
function add_product_ids_to_raf_coupon($user_id, $type, $order, $coupon_id) {
// Logic to determine which variation IDs to add
$variation_ids = array(123, 456, 789); // Replace with your actual variation IDs
// Get existing product IDs
$existing_ids = get_post_meta($coupon_id, 'product_ids', true);
@goranefbl
goranefbl / hs-widget.php
Created February 13, 2025 12:37
hs-widget.php
<?php
/* @var $args array */
$tracking_actions = false;
if ( class_exists('WC_Shipment_Tracking_Actions') ) {
$tracking_actions = new \WC_Shipment_Tracking_Actions();
}
if ( ! class_exists( 'TomShippingBob' ) ) {
include_once "../inc/classes/TomShippingBob.class.php";
}
@goranefbl
goranefbl / functions.php
Created January 24, 2025 19:43
different amount per product
<?php
add_filter('gens_raf_coupon_amount', 'modify_raf_coupon_amount', 10, 2);
function modify_raf_coupon_amount($amount, $order_id) {
// Get the order object
$order = wc_get_order($order_id);
if (!$order) {
return $amount; // Return default amount if order not found
@goranefbl
goranefbl / functions.php
Created January 16, 2025 09:27
utm-add-on-hold-status
<?php
namespace WPGens_ST\Includes\WooCommerce;
use Automattic\WooCommerce\Utilities\OrderUtil;
defined('ABSPATH') || exit;
class WPGENS_ST_Orders_Analytics
{