HEX
Server: LiteSpeed
System: Linux pulsar191.sitesanctuary.org 5.14.0-284.30.1.el9.tuxcare.els9.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Jan 10 17:34:05 UTC 2025 x86_64
User: lgooir (1604)
PHP: 8.1.32
Disabled: exec,system,passthru,shell_exec,escapeshellarg,escapeshellcmd,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: /home/lgooir/.trash/rising-bamboo/inc/helper/class-woocommerce-image.php
<?php
/**
 * RisingBambooCore
 *
 * @package RisingBambooCore.
 */

namespace RisingBambooCore\Helper;

use RisingBambooCore\Core\Singleton;
use WC_Product_Query;
use WC_Query;

/**
 * Rising Bamboo Woocommerce Class.
 */
class WoocommerceImage extends Singleton {

	/**
	 * Get all images attachment.
	 *
	 * @param \WC_Product $product Product.
	 * @param boolean     $inc_variation Include Variation.
	 * @return array
	 */
	public static function get_images_id( \WC_Product $product, bool $inc_variation = true ): array {
		$attachment_ids = $product->get_gallery_image_ids();
		$thumbnail_id   = (int) $product->get_image_id();
		if ( $thumbnail_id ) {
			array_unshift($attachment_ids, $thumbnail_id);
		}
		if ( $inc_variation && $product instanceof \WC_Product_Variable ) {
			$variations = $product->get_available_variations();
			foreach ( $variations as $variation ) {
				if ( isset($variation['image_id']) && ! in_array($variation['image_id'], $attachment_ids, true) ) {
					$attachment_ids[] = $variation['image_id'];
				}
			}
		}
		return $attachment_ids;
	}
}