$50 GRAYBYTE WORDPRESS FILE MANAGER $37

SERVER : premium134.web-hosting.com #1 SMP Thu Mar 13 14:29:12 UTC 2025
SERVER IP : 162.0.232.104 | ADMIN IP 216.73.216.80
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/home/raydofqv/ctdatabase.work/wp-content/plugins/woocommerce/includes/

HOME
Current File : /home/raydofqv/ctdatabase.work/wp-content/plugins/woocommerce/includes//wc-stock-functions.php
<?php
/**
 * WooCommerce Stock Functions
 *
 * Functions used to manage product stock levels.
 *
 * @package WooCommerce\Functions
 * @version 3.4.0
 */

defined( 'ABSPATH' ) || exit;

use Automattic\WooCommerce\Checkout\Helpers\ReserveStock;
use Automattic\WooCommerce\Enums\ProductType;
use Automattic\WooCommerce\Internal\Orders\OrderNoteGroup;

/**
 * Update a product's stock amount.
 *
 * Uses queries rather than update_post_meta so we can do this in one query (to avoid stock issues).
 *
 * @since  3.0.0 this supports set, increase and decrease.
 *
 * @param  int|WC_Product $product        Product ID or product instance.
 * @param  int|null       $stock_quantity Stock quantity.
 * @param  string         $operation      Type of operation, allows 'set', 'increase' and 'decrease'.
 * @param  bool           $updating       If true, the product object won't be saved here as it will be updated later.
 * @return bool|int|null
 */
function wc_update_product_stock( $product, $stock_quantity = null, $operation = 'set', $updating = false ) {
	if ( ! is_a( $product, 'WC_Product' ) ) {
		$product = wc_get_product( $product );
	}

	if ( ! $product ) {
		return false;
	}

	if ( ! is_null( $stock_quantity ) && $product->managing_stock() ) {
		// Some products (variations) can have their stock managed by their parent. Get the correct object to be updated here.
		$product_id_with_stock = $product->get_stock_managed_by_id();
		$product_with_stock    = $product_id_with_stock !== $product->get_id() ? wc_get_product( $product_id_with_stock ) : $product;
		$data_store            = WC_Data_Store::load( 'product' );

		// Fire actions to let 3rd parties know the stock is about to be changed.
		if ( $product_with_stock->is_type( ProductType::VARIATION ) ) {
			// phpcs:disable WooCommerce.Commenting.CommentHooks.MissingSinceComment
			/** This action is documented in includes/data-stores/class-wc-product-data-store-cpt.php */
			do_action( 'woocommerce_variation_before_set_stock', $product_with_stock );
		} else {
			// phpcs:disable WooCommerce.Commenting.CommentHooks.MissingSinceComment
			/** This action is documented in includes/data-stores/class-wc-product-data-store-cpt.php */
			do_action( 'woocommerce_product_before_set_stock', $product_with_stock );
		}

		// Update the database.
		$new_stock = $data_store->update_product_stock( $product_id_with_stock, $stock_quantity, $operation );

		// Update the product object.
		$data_store->read_stock_quantity( $product_with_stock, $new_stock );

		// If this is not being called during an update routine, save the product so stock status etc is in sync, and caches are cleared.
		if ( ! $updating ) {
			$product_with_stock->save();
		}

		// Fire actions to let 3rd parties know the stock changed.
		if ( $product_with_stock->is_type( ProductType::VARIATION ) ) {
			// phpcs:disable WooCommerce.Commenting.CommentHooks.MissingSinceComment
			/** This action is documented in includes/data-stores/class-wc-product-data-store-cpt.php */
			do_action( 'woocommerce_variation_set_stock', $product_with_stock );
		} else {
			// phpcs:disable WooCommerce.Commenting.CommentHooks.MissingSinceComment
			/** This action is documented in includes/data-stores/class-wc-product-data-store-cpt.php */
			do_action( 'woocommerce_product_set_stock', $product_with_stock );
		}

		return $product_with_stock->get_stock_quantity();
	}
	return $product->get_stock_quantity();
}

/**
 * Update a product's stock status.
 *
 * @param int    $product_id Product ID.
 * @param string $status     Status.
 */
function wc_update_product_stock_status( $product_id, $status ) {
	$product = wc_get_product( $product_id );

	if ( $product ) {
		$product->set_stock_status( $status );
		$product->save();
	}
}

/**
 * When a payment is complete, we can reduce stock levels for items within an order.
 *
 * @since 3.0.0
 * @param int $order_id Order ID.
 */
function wc_maybe_reduce_stock_levels( $order_id ) {
	$order = wc_get_order( $order_id );

	if ( ! $order ) {
		return;
	}

	$stock_reduced  = $order->get_data_store()->get_stock_reduced( $order_id );
	$trigger_reduce = apply_filters( 'woocommerce_payment_complete_reduce_order_stock', ! $stock_reduced, $order_id );

	// Only continue if we're reducing stock.
	if ( ! $trigger_reduce ) {
		return;
	}

	wc_reduce_stock_levels( $order );

	// Ensure stock is marked as "reduced" in case payment complete or other stock actions are called.
	$order->get_data_store()->set_stock_reduced( $order_id, true );
}
add_action( 'woocommerce_payment_complete', 'wc_maybe_reduce_stock_levels' );
add_action( 'woocommerce_order_status_completed', 'wc_maybe_reduce_stock_levels' );
add_action( 'woocommerce_order_status_processing', 'wc_maybe_reduce_stock_levels' );
add_action( 'woocommerce_order_status_on-hold', 'wc_maybe_reduce_stock_levels' );

/**
 * When a payment is cancelled, restore stock.
 *
 * @since 3.0.0
 * @param int $order_id Order ID.
 */
function wc_maybe_increase_stock_levels( $order_id ) {
	$order = wc_get_order( $order_id );

	if ( ! $order ) {
		return;
	}

	$stock_reduced    = $order->get_data_store()->get_stock_reduced( $order_id );
	$trigger_increase = (bool) $stock_reduced;

	// Only continue if we're increasing stock.
	if ( ! $trigger_increase ) {
		return;
	}

	wc_increase_stock_levels( $order );

	// Ensure stock is not marked as "reduced" anymore.
	$order->get_data_store()->set_stock_reduced( $order_id, false );
}
add_action( 'woocommerce_order_status_cancelled', 'wc_maybe_increase_stock_levels' );
add_action( 'woocommerce_order_status_pending', 'wc_maybe_increase_stock_levels' );

/**
 * Reduce stock levels for items within an order, if stock has not already been reduced for the items.
 *
 * @since 3.0.0
 * @param int|WC_Order $order_id Order ID or order instance.
 */
function wc_reduce_stock_levels( $order_id ) {
	if ( is_a( $order_id, 'WC_Order' ) ) {
		$order    = $order_id;
		$order_id = $order->get_id();
	} else {
		$order = wc_get_order( $order_id );
	}
	// We need an order, and a store with stock management to continue.
	if ( ! $order || 'yes' !== get_option( 'woocommerce_manage_stock' ) || ! apply_filters( 'woocommerce_can_reduce_order_stock', true, $order ) ) {
		return;
	}

	$changes = array();

	// Loop over all items.
	foreach ( $order->get_items() as $item ) {
		if ( ! $item->is_type( 'line_item' ) ) {
			continue;
		}

		// Only reduce stock once for each item.
		$product            = $item->get_product();
		$item_stock_reduced = $item->get_meta( '_reduced_stock', true );

		if ( $item_stock_reduced || ! $product || ! $product->managing_stock() ) {
			continue;
		}

		/**
		 * Filter order item quantity.
		 *
		 * @param int|float             $quantity Quantity.
		 * @param WC_Order              $order    Order data.
		 * @param WC_Order_Item_Product $item Order item data.
		 */
		$qty       = apply_filters( 'woocommerce_order_item_quantity', $item->get_quantity(), $order, $item );
		$item_name = $product->get_name();
		$new_stock = wc_update_product_stock( $product, $qty, 'decrease' );

		if ( is_wp_error( $new_stock ) ) {
			/* translators: %s item name. */
			$order->add_order_note( sprintf( __( 'Unable to reduce stock for item %s.', 'woocommerce' ), $item_name ), false, false, array( 'note_group' => OrderNoteGroup::ERROR ) );
			continue;
		}

		$item->add_meta_data( '_reduced_stock', $qty, true );
		$item->save();

		$change    = array(
			'product' => $product,
			'from'    => $new_stock + $qty,
			'to'      => $new_stock,
		);
		$changes[] = $change;

		/**
		 * Fires when stock reduced to a specific line item
		 *
		 * @param WC_Order_Item_Product $item Order item data.
		 * @param array $change  Change Details.
		 * @param WC_Order $order  Order data.
		 * @since 7.6.0
		 */
		do_action( 'woocommerce_reduce_order_item_stock', $item, $change, $order );
	}

	wc_trigger_stock_change_notifications( $order, $changes );

	do_action( 'woocommerce_reduce_order_stock', $order );
}

/**
 * After stock change events, triggers emails and adds order notes.
 *
 * @since 3.5.0
 * @param WC_Order $order order object.
 * @param array    $changes Array of changes.
 */
function wc_trigger_stock_change_notifications( $order, $changes ) {
	if ( empty( $changes ) ) {
		return;
	}

	$order_notes     = array();
	$no_stock_amount = absint( get_option( 'woocommerce_notify_no_stock_amount', 0 ) );

	foreach ( $changes as $change ) {
		$order_notes[]    = $change['product']->get_name() . ' (' . $change['from'] . '&rarr;' . $change['to'] . ')';
		$low_stock_amount = absint( wc_get_low_stock_amount( wc_get_product( $change['product']->get_id() ) ) );
		if ( $change['to'] <= $no_stock_amount ) {
			/**
			 * Action to signal that the value of 'stock_quantity' for a variation is about to change.
			 *
			 * @since 4.9
			 *
			 * @param int $product The variation whose stock is about to change.
			 */
			do_action( 'woocommerce_no_stock', wc_get_product( $change['product']->get_id() ) );
		} elseif ( $change['to'] <= $low_stock_amount ) {
			/**
			 * Action to signal that the value of 'stock_quantity' for a product is about to change.
			 *
			 * @since 4.9
			 *
			 * @param int $product The product whose stock is about to change.
			 */
			do_action( 'woocommerce_low_stock', wc_get_product( $change['product']->get_id() ) );
		}

		if ( $change['to'] < 0 ) {
			/**
			 * Action fires when an item in an order is backordered.
			 *
			 * @since 3.0
			 *
			 * @param array $args {
			 *     @type WC_Product $product  The product that is on backorder.
			 *     @type int        $order_id The ID of the order.
			 *     @type int|float  $quantity The amount of product on backorder.
			 * }
			 */
			do_action(
				'woocommerce_product_on_backorder',
				array(
					'product'  => wc_get_product( $change['product']->get_id() ),
					'order_id' => $order->get_id(),
					'quantity' => abs( $change['from'] - $change['to'] ),
				)
			);
		}
	}

	$order->add_order_note( __( 'Stock levels reduced:', 'woocommerce' ) . ' ' . implode( ', ', $order_notes ), false, false, array( 'note_group' => OrderNoteGroup::PRODUCT_STOCK ) );
}

/**
 * Check if a product's stock quantity has reached certain thresholds and trigger appropriate actions.
 *
 * This functionality was moved out of `wc_trigger_stock_change_notifications` in order to decouple it from orders,
 * since stock quantity can also be updated in other ways.
 *
 * @param WC_Product $product        The product whose stock level has changed.
 *
 * @return void
 */
function wc_trigger_stock_change_actions( $product ) {
	if ( true !== $product->get_manage_stock() ) {
		return;
	}

	$no_stock_amount  = absint( get_option( 'woocommerce_notify_no_stock_amount', 0 ) );
	$low_stock_amount = absint( wc_get_low_stock_amount( $product ) );
	$stock_quantity   = $product->get_stock_quantity();

	if ( $stock_quantity <= $no_stock_amount ) {
		/**
		 * Action fires when a product's stock quantity reaches the "no stock" threshold.
		 *
		 * @since 3.0
		 *
		 * @param WC_Product $product The product whose stock quantity has changed.
		 */
		do_action( 'woocommerce_no_stock', $product );
	} elseif ( $stock_quantity <= $low_stock_amount ) {
		/**
		 * Action fires when a product's stock quantity reaches the "low stock" threshold.
		 *
		 * @since 3.0
		 *
		 * @param WC_Product $product The product whose stock quantity has changed.
		 */
		do_action( 'woocommerce_low_stock', $product );
	}
}

/**
 * Increase stock levels for items within an order.
 *
 * @since 3.0.0
 * @param int|WC_Order $order_id Order ID or order instance.
 */
function wc_increase_stock_levels( $order_id ) {
	if ( is_a( $order_id, 'WC_Order' ) ) {
		$order    = $order_id;
		$order_id = $order->get_id();
	} else {
		$order = wc_get_order( $order_id );
	}

	// We need an order, and a store with stock management to continue.
	if ( ! $order || 'yes' !== get_option( 'woocommerce_manage_stock' ) || ! apply_filters( 'woocommerce_can_restore_order_stock', true, $order ) ) {
		return;
	}

	$changes = array();

	// Loop over all items.
	foreach ( $order->get_items() as $item ) {
		if ( ! $item->is_type( 'line_item' ) ) {
			continue;
		}

		// Only increase stock once for each item.
		$product            = $item->get_product();
		$item_stock_reduced = $item->get_meta( '_reduced_stock', true );

		if ( ! $item_stock_reduced || ! $product || ! $product->managing_stock() ) {
			continue;
		}

		$item_name = $product->get_name();
		$new_stock = wc_update_product_stock( $product, $item_stock_reduced, 'increase' );
		$old_stock = $new_stock - $item_stock_reduced;

		if ( is_wp_error( $new_stock ) ) {
			/* translators: %s item name. */
			$order->add_order_note( sprintf( __( 'Unable to restore stock for item %s.', 'woocommerce' ), $item_name ), false, false, array( 'note_group' => OrderNoteGroup::ERROR ) );
			continue;
		}

		$item->delete_meta_data( '_reduced_stock' );
		$item->save();

		$changes[] = $item_name . ' (' . $old_stock . '&rarr;' . $new_stock . ')';

		/**
		 * Fires when stock restored to a specific line item
		 *
		 * @since 9.1.0
		 * @param WC_Order_Item_Product $item Order item data.
		 * @param int $new_stock  New stock.
		 * @param int $old_stock Old stock.
		 * @param WC_Order $order  Order data.
		 */
		do_action( 'woocommerce_restore_order_item_stock', $item, $new_stock, $old_stock, $order );
	}

	if ( $changes ) {
		$order->add_order_note( __( 'Stock levels increased:', 'woocommerce' ) . ' ' . implode( ', ', $changes ), false, false, array( 'note_group' => OrderNoteGroup::PRODUCT_STOCK ) );
	}

	do_action( 'woocommerce_restore_order_stock', $order );
}

/**
 * See how much stock is being held in pending orders.
 *
 * @since 3.5.0
 * @param WC_Product $product Product to check.
 * @param integer    $exclude_order_id Order ID to exclude.
 * @return int
 */
function wc_get_held_stock_quantity( WC_Product $product, $exclude_order_id = 0 ) {
	/**
	 * Filter: woocommerce_hold_stock_for_checkout
	 * Allows enable/disable hold stock functionality on checkout.
	 *
	 * @since 4.3.0
	 * @param bool $enabled Default to true if managing stock globally.
	 */
	if ( ! apply_filters( 'woocommerce_hold_stock_for_checkout', wc_string_to_bool( get_option( 'woocommerce_manage_stock', 'yes' ) ) ) ) {
		return 0;
	}

	$reserve_stock = new ReserveStock();
	return $reserve_stock->get_reserved_stock( $product, $exclude_order_id );
}

/**
 * Hold stock for an order.
 *
 * @throws ReserveStockException If reserve stock fails.
 *
 * @since 4.1.0
 * @param \WC_Order|int $order Order ID or instance.
 */
function wc_reserve_stock_for_order( $order ) {
	/**
	 * Filter: woocommerce_hold_stock_for_checkout
	 * Allows enable/disable hold stock functionality on checkout.
	 *
	 * @since @since 4.1.0
	 * @param bool $enabled Default to true if managing stock globally.
	 */
	if ( ! apply_filters( 'woocommerce_hold_stock_for_checkout', wc_string_to_bool( get_option( 'woocommerce_manage_stock', 'yes' ) ) ) ) {
		return;
	}

	$order = $order instanceof WC_Order ? $order : wc_get_order( $order );

	if ( $order ) {
		$reserve_stock = new ReserveStock();
		$reserve_stock->reserve_stock_for_order( $order );
	}
}
add_action( 'woocommerce_checkout_order_created', 'wc_reserve_stock_for_order' );

/**
 * Release held stock for an order.
 *
 * @since 4.3.0
 * @param \WC_Order|int $order Order ID or instance.
 */
function wc_release_stock_for_order( $order ) {
	/**
	 * Filter: woocommerce_hold_stock_for_checkout
	 * Allows enable/disable hold stock functionality on checkout.
	 *
	 * @since 4.3.0
	 * @param bool $enabled Default to true if managing stock globally.
	 */
	if ( ! apply_filters( 'woocommerce_hold_stock_for_checkout', wc_string_to_bool( get_option( 'woocommerce_manage_stock', 'yes' ) ) ) ) {
		return;
	}

	$order = $order instanceof WC_Order ? $order : wc_get_order( $order );

	if ( $order ) {
		$reserve_stock = new ReserveStock();
		$reserve_stock->release_stock_for_order( $order );
	}
}
add_action( 'woocommerce_checkout_order_exception', 'wc_release_stock_for_order' );
add_action( 'woocommerce_payment_complete', 'wc_release_stock_for_order', 11 );
add_action( 'woocommerce_order_status_cancelled', 'wc_release_stock_for_order', 11 );
add_action( 'woocommerce_order_status_completed', 'wc_release_stock_for_order', 11 );
add_action( 'woocommerce_order_status_processing', 'wc_release_stock_for_order', 11 );
add_action( 'woocommerce_order_status_on-hold', 'wc_release_stock_for_order', 11 );

/**
 * Release coupons used for another order.
 *
 * @since 9.5.2
 * @param \WC_Order|int $order Order ID or instance.
 * @param bool          $save Save the order after releasing coupons.
 */
function wc_release_coupons_for_order( $order, bool $save = true ) {
	$order = $order instanceof WC_Order ? $order : wc_get_order( $order );

	if ( $order ) {
		$order->get_data_store()->release_held_coupons( $order, $save );
	}
}

/**
 * Return low stock amount to determine if notification needs to be sent
 *
 * Since 5.2.0, this function no longer redirects from variation to its parent product.
 * Low stock amount can now be attached to the variation itself and if it isn't, only
 * then we check the parent product, and if it's not there, then we take the default
 * from the store-wide setting.
 *
 * @param  WC_Product $product Product to get data from.
 * @since  3.5.0
 * @return int
 */
function wc_get_low_stock_amount( WC_Product $product ) {
	$low_stock_amount = $product->get_low_stock_amount();

	if ( '' === $low_stock_amount && $product->is_type( ProductType::VARIATION ) ) {
		$product          = wc_get_product( $product->get_parent_id() );
		$low_stock_amount = $product->get_low_stock_amount();
	}

	if ( '' === $low_stock_amount ) {
		$low_stock_amount = get_option( 'woocommerce_notify_low_stock_amount', 2 );
	}

	return (int) $low_stock_amount;
}

Current_dir [ WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
29 Apr 2026 5.43 AM
raydofqv / raydofqv
0755
abstracts
--
29 Apr 2026 5.43 AM
raydofqv / raydofqv
0755
admin
--
29 Apr 2026 5.43 AM
raydofqv / raydofqv
0755
blocks
--
29 Apr 2026 5.43 AM
raydofqv / raydofqv
0755
cli
--
29 Apr 2026 5.43 AM
raydofqv / raydofqv
0755
customizer
--
29 Apr 2026 5.43 AM
raydofqv / raydofqv
0755
data-stores
--
29 Apr 2026 5.43 AM
raydofqv / raydofqv
0755
emails
--
29 Apr 2026 5.43 AM
raydofqv / raydofqv
0755
export
--
29 Apr 2026 5.43 AM
raydofqv / raydofqv
0755
gateways
--
29 Apr 2026 5.43 AM
raydofqv / raydofqv
0755
import
--
29 Apr 2026 5.43 AM
raydofqv / raydofqv
0755
integrations
--
29 Apr 2026 5.43 AM
raydofqv / raydofqv
0755
interfaces
--
29 Apr 2026 5.43 AM
raydofqv / raydofqv
0755
legacy
--
29 Apr 2026 5.43 AM
raydofqv / raydofqv
0755
libraries
--
29 Apr 2026 5.43 AM
raydofqv / raydofqv
0755
log-handlers
--
29 Apr 2026 5.43 AM
raydofqv / raydofqv
0755
payment-tokens
--
29 Apr 2026 5.43 AM
raydofqv / raydofqv
0755
product-usage
--
29 Apr 2026 5.43 AM
raydofqv / raydofqv
0755
queue
--
29 Apr 2026 5.43 AM
raydofqv / raydofqv
0755
react-admin
--
29 Apr 2026 5.43 AM
raydofqv / raydofqv
0755
rest-api
--
29 Apr 2026 5.43 AM
raydofqv / raydofqv
0755
shipping
--
29 Apr 2026 5.43 AM
raydofqv / raydofqv
0755
shortcodes
--
29 Apr 2026 5.43 AM
raydofqv / raydofqv
0755
theme-support
--
29 Apr 2026 5.43 AM
raydofqv / raydofqv
0755
tracks
--
29 Apr 2026 5.43 AM
raydofqv / raydofqv
0755
traits
--
29 Apr 2026 5.43 AM
raydofqv / raydofqv
0755
walkers
--
29 Apr 2026 5.43 AM
raydofqv / raydofqv
0755
wccom-site
--
29 Apr 2026 5.43 AM
raydofqv / raydofqv
0755
widgets
--
29 Apr 2026 5.43 AM
raydofqv / raydofqv
0755
.htaccess
0.124 KB
29 Apr 2026 5.43 AM
raydofqv / raydofqv
0444
class-wc-ajax.php
131.443 KB
13 Apr 2026 5.14 PM
raydofqv / raydofqv
0644
class-wc-auth.php
12.69 KB
30 Jul 2024 7.31 PM
raydofqv / raydofqv
0644
class-wc-autoloader.php
5.268 KB
6 Oct 2025 5.56 PM
raydofqv / raydofqv
0644
class-wc-background-emailer.php
4.575 KB
20 Aug 2020 11.18 PM
raydofqv / raydofqv
0644
class-wc-background-updater.php
3.452 KB
20 Aug 2020 11.18 PM
raydofqv / raydofqv
0644
class-wc-brands-brand-settings-manager.php
1.783 KB
23 Sep 2024 8.44 PM
raydofqv / raydofqv
0644
class-wc-brands-coupons.php
6.894 KB
21 Jan 2025 6.53 PM
raydofqv / raydofqv
0644
class-wc-brands.php
34.8 KB
19 Jan 2026 2.46 PM
raydofqv / raydofqv
0644
class-wc-breadcrumb.php
10.41 KB
23 Feb 2026 5.58 PM
raydofqv / raydofqv
0644
class-wc-cache-helper.php
12.693 KB
6 Oct 2025 5.56 PM
raydofqv / raydofqv
0644
class-wc-cart-fees.php
3.367 KB
26 Sep 2023 9.42 PM
raydofqv / raydofqv
0644
class-wc-cart-session.php
25.366 KB
30 Mar 2026 5.12 PM
raydofqv / raydofqv
0644
class-wc-cart-totals.php
28.479 KB
29 Jul 2025 12.34 PM
raydofqv / raydofqv
0644
class-wc-cart.php
75.572 KB
30 Mar 2026 5.12 PM
raydofqv / raydofqv
0644
class-wc-checkout.php
50.146 KB
12 Mar 2026 8.10 PM
raydofqv / raydofqv
0644
class-wc-cli.php
3.339 KB
1 Sep 2025 11.44 PM
raydofqv / raydofqv
0644
class-wc-comments.php
23.077 KB
23 Feb 2026 5.58 PM
raydofqv / raydofqv
0644
class-wc-countries.php
50.665 KB
23 Feb 2026 5.58 PM
raydofqv / raydofqv
0644
class-wc-coupon.php
43.867 KB
23 Feb 2026 5.58 PM
raydofqv / raydofqv
0644
class-wc-customer-download-log.php
3.371 KB
20 Aug 2020 11.18 PM
raydofqv / raydofqv
0644
class-wc-customer-download.php
10.339 KB
30 Jul 2024 7.31 PM
raydofqv / raydofqv
0644
class-wc-customer.php
33.203 KB
23 Feb 2026 5.58 PM
raydofqv / raydofqv
0644
class-wc-data-exception.php
1.29 KB
23 May 2018 7.30 PM
raydofqv / raydofqv
0644
class-wc-data-store.php
6.594 KB
19 Oct 2022 12.34 AM
raydofqv / raydofqv
0644
class-wc-datetime.php
2.256 KB
20 Apr 2022 6.50 AM
raydofqv / raydofqv
0644
class-wc-deprecated-action-hooks.php
6.588 KB
27 Feb 2024 6.59 PM
raydofqv / raydofqv
0644
class-wc-deprecated-filter-hooks.php
7.342 KB
30 Mar 2026 5.12 PM
raydofqv / raydofqv
0644
class-wc-discounts.php
36.644 KB
29 Jul 2025 12.34 PM
raydofqv / raydofqv
0644
class-wc-download-handler.php
28.372 KB
18 Dec 2024 10.19 PM
raydofqv / raydofqv
0644
class-wc-emails.php
39.301 KB
30 Mar 2026 5.12 PM
raydofqv / raydofqv
0644
class-wc-embed.php
4.24 KB
21 Jan 2025 6.53 PM
raydofqv / raydofqv
0644
class-wc-form-handler.php
48.171 KB
9 Mar 2026 4.07 PM
raydofqv / raydofqv
0644
class-wc-frontend-scripts.php
34.36 KB
23 Feb 2026 5.58 PM
raydofqv / raydofqv
0644
class-wc-geo-ip.php
30.429 KB
6 Oct 2025 5.56 PM
raydofqv / raydofqv
0644
class-wc-geolite-integration.php
1.988 KB
16 Jan 2020 6.10 AM
raydofqv / raydofqv
0644
class-wc-geolocation.php
11.343 KB
23 Feb 2026 5.58 PM
raydofqv / raydofqv
0644
class-wc-https.php
4.335 KB
20 Jun 2023 11.45 PM
raydofqv / raydofqv
0644
class-wc-install.php
116.228 KB
30 Mar 2026 5.12 PM
raydofqv / raydofqv
0644
class-wc-integrations.php
1.277 KB
20 Aug 2020 11.18 PM
raydofqv / raydofqv
0644
class-wc-log-levels.php
3.898 KB
30 Jan 2024 11.24 PM
raydofqv / raydofqv
0644
class-wc-logger.php
9.413 KB
23 Feb 2026 5.58 PM
raydofqv / raydofqv
0644
class-wc-meta-data.php
2.207 KB
20 Apr 2022 6.50 AM
raydofqv / raydofqv
0644
class-wc-order-factory.php
8.741 KB
30 Mar 2026 5.12 PM
raydofqv / raydofqv
0644
class-wc-order-item-coupon.php
4.077 KB
22 Dec 2021 12.24 AM
raydofqv / raydofqv
0644
class-wc-order-item-fee.php
9.988 KB
19 Jan 2026 2.46 PM
raydofqv / raydofqv
0644
class-wc-order-item-meta.php
5.803 KB
22 Dec 2021 12.24 AM
raydofqv / raydofqv
0644
class-wc-order-item-product.php
17.541 KB
19 Jan 2026 2.46 PM
raydofqv / raydofqv
0644
class-wc-order-item-shipping.php
9.585 KB
19 Jan 2026 2.46 PM
raydofqv / raydofqv
0644
class-wc-order-item-tax.php
6.488 KB
22 Dec 2021 12.24 AM
raydofqv / raydofqv
0644
class-wc-order-item.php
21.394 KB
19 Jan 2026 2.46 PM
raydofqv / raydofqv
0644
class-wc-order-query.php
2.552 KB
23 Feb 2026 5.58 PM
raydofqv / raydofqv
0644
class-wc-order-refund.php
5.991 KB
12 May 2025 9.07 PM
raydofqv / raydofqv
0644
class-wc-order.php
77.562 KB
30 Mar 2026 5.12 PM
raydofqv / raydofqv
0644
class-wc-payment-gateways.php
14.259 KB
30 Mar 2026 5.12 PM
raydofqv / raydofqv
0644
class-wc-payment-tokens.php
6.24 KB
23 Nov 2022 5.58 AM
raydofqv / raydofqv
0644
class-wc-post-data.php
38.688 KB
30 Mar 2026 5.12 PM
raydofqv / raydofqv
0644
class-wc-post-types.php
32.891 KB
19 Jan 2026 2.46 PM
raydofqv / raydofqv
0644
class-wc-privacy-background-process.php
1.79 KB
3 Mar 2025 10.28 PM
raydofqv / raydofqv
0644
class-wc-privacy-erasers.php
13.614 KB
1 Sep 2025 11.44 PM
raydofqv / raydofqv
0644
class-wc-privacy-exporters.php
14.691 KB
28 Jul 2021 4.11 AM
raydofqv / raydofqv
0644
class-wc-privacy.php
17.216 KB
23 Jun 2025 7.46 PM
raydofqv / raydofqv
0644
class-wc-product-attribute.php
7.868 KB
23 Feb 2026 5.58 PM
raydofqv / raydofqv
0644
class-wc-product-download.php
13.178 KB
23 Feb 2026 5.58 PM
raydofqv / raydofqv
0644
class-wc-product-external.php
4.984 KB
3 Mar 2025 10.28 PM
raydofqv / raydofqv
0644
class-wc-product-factory.php
4.588 KB
30 Mar 2026 5.12 PM
raydofqv / raydofqv
0644
class-wc-product-grouped.php
6.811 KB
30 Mar 2026 5.12 PM
raydofqv / raydofqv
0644
class-wc-product-query.php
2.273 KB
23 Feb 2026 5.58 PM
raydofqv / raydofqv
0644
class-wc-product-simple.php
2.7 KB
29 Jul 2025 12.34 PM
raydofqv / raydofqv
0644
class-wc-product-variable.php
23.764 KB
30 Mar 2026 5.12 PM
raydofqv / raydofqv
0644
class-wc-product-variation.php
20.177 KB
12 May 2025 9.07 PM
raydofqv / raydofqv
0644
class-wc-query.php
33.495 KB
10 Feb 2026 7.22 PM
raydofqv / raydofqv
0644
class-wc-rate-limiter.php
4.004 KB
1 Dec 2021 4.23 AM
raydofqv / raydofqv
0644
class-wc-regenerate-images-request.php
7.737 KB
25 Jan 2023 3.19 AM
raydofqv / raydofqv
0644
class-wc-regenerate-images.php
15.436 KB
25 Jun 2024 9.17 PM
raydofqv / raydofqv
0644
class-wc-register-wp-admin-settings.php
5.05 KB
22 Jun 2021 3.24 PM
raydofqv / raydofqv
0644
class-wc-rest-authentication.php
21.551 KB
25 Jun 2024 9.17 PM
raydofqv / raydofqv
0644
class-wc-rest-exception.php
0.27 KB
23 Sep 2020 1.16 AM
raydofqv / raydofqv
0644
class-wc-session-handler.php
24.572 KB
30 Mar 2026 5.12 PM
raydofqv / raydofqv
0644
class-wc-shipping-rate.php
9.342 KB
23 Jun 2025 7.46 PM
raydofqv / raydofqv
0644
class-wc-shipping-zone.php
13.078 KB
23 Sep 2020 1.16 AM
raydofqv / raydofqv
0644
class-wc-shipping-zones.php
4.995 KB
24 Nov 2025 11.10 PM
raydofqv / raydofqv
0644
class-wc-shipping.php
13.058 KB
30 Mar 2026 5.12 PM
raydofqv / raydofqv
0644
class-wc-shortcodes.php
18.822 KB
21 Jan 2025 6.53 PM
raydofqv / raydofqv
0644
class-wc-structured-data.php
24.425 KB
23 Feb 2026 5.58 PM
raydofqv / raydofqv
0644
class-wc-tax.php
39.74 KB
23 Feb 2026 5.58 PM
raydofqv / raydofqv
0644
class-wc-template-loader.php
20.421 KB
12 Nov 2025 6.35 PM
raydofqv / raydofqv
0644
class-wc-tracker.php
51.495 KB
6 Oct 2025 5.56 PM
raydofqv / raydofqv
0644
class-wc-validation.php
5.79 KB
28 May 2024 2.28 PM
raydofqv / raydofqv
0644
class-wc-webhook.php
30.085 KB
6 Oct 2025 5.56 PM
raydofqv / raydofqv
0644
class-woocommerce.php
62.318 KB
14 Apr 2026 4.01 PM
raydofqv / raydofqv
0644
wc-account-functions.php
14.146 KB
24 Nov 2025 11.10 PM
raydofqv / raydofqv
0644
wc-attribute-functions.php
21.853 KB
1 Sep 2025 11.44 PM
raydofqv / raydofqv
0644
wc-brands-functions.php
4.17 KB
23 Sep 2024 8.44 PM
raydofqv / raydofqv
0644
wc-cart-functions.php
20.809 KB
19 Jan 2026 2.46 PM
raydofqv / raydofqv
0644
wc-conditional-functions.php
15.529 KB
29 Jul 2025 12.34 PM
raydofqv / raydofqv
0644
wc-core-functions.php
78.714 KB
23 Feb 2026 5.58 PM
raydofqv / raydofqv
0644
wc-coupon-functions.php
5.564 KB
19 Jan 2026 2.46 PM
raydofqv / raydofqv
0644
wc-deprecated-functions.php
39.776 KB
23 Feb 2026 5.58 PM
raydofqv / raydofqv
0644
wc-formatting-functions.php
49.896 KB
24 Nov 2025 11.10 PM
raydofqv / raydofqv
0644
wc-interactivity-api-functions.php
2.167 KB
23 Feb 2026 5.58 PM
raydofqv / raydofqv
0644
wc-notice-functions.php
8.492 KB
19 Jan 2026 2.46 PM
raydofqv / raydofqv
0644
wc-order-functions.php
44.009 KB
30 Mar 2026 5.12 PM
raydofqv / raydofqv
0644
wc-order-item-functions.php
5.032 KB
25 Jan 2023 3.19 AM
raydofqv / raydofqv
0644
wc-order-step-logger-functions.php
5.971 KB
23 Feb 2026 5.58 PM
raydofqv / raydofqv
0644
wc-page-functions.php
9.431 KB
23 Sep 2024 8.44 PM
raydofqv / raydofqv
0644
wc-product-functions.php
67.375 KB
23 Feb 2026 5.58 PM
raydofqv / raydofqv
0644
wc-rest-functions.php
13.934 KB
24 Nov 2025 11.10 PM
raydofqv / raydofqv
0644
wc-stock-functions.php
17.433 KB
24 Nov 2025 11.10 PM
raydofqv / raydofqv
0644
wc-template-functions.php
142.066 KB
30 Mar 2026 5.12 PM
raydofqv / raydofqv
0644
wc-template-hooks.php
12.843 KB
1 Sep 2025 11.44 PM
raydofqv / raydofqv
0644
wc-term-functions.php
24.568 KB
24 Nov 2025 11.10 PM
raydofqv / raydofqv
0644
wc-update-functions.php
102.38 KB
30 Mar 2026 5.12 PM
raydofqv / raydofqv
0644
wc-user-functions.php
35.349 KB
30 Mar 2026 5.12 PM
raydofqv / raydofqv
0644
wc-webhook-functions.php
5.767 KB
25 Jun 2024 9.17 PM
raydofqv / raydofqv
0644
wc-widget-functions.php
2.015 KB
20 Aug 2020 11.18 PM
raydofqv / raydofqv
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME
Static GIF Static GIF