__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
<?php

namespace CarouselSlider\Modules\ProductCarousel;

use CarouselSlider\Abstracts\AbstractTemplate;
use CarouselSlider\Helper;

defined( 'ABSPATH' ) || exit;

/**
 * Template class
 *
 * @package Modules/ProductCarousel
 */
class Template extends AbstractTemplate {

	/**
	 * Get default image carousel settings
	 *
	 * @return array
	 */
	public static function get_default_settings(): array {
		return wp_parse_args(
			[
				'_slide_type'                => 'product-carousel',
				// Product Carousel Settings.
				'_product_query_type'        => 'query_product',
				'_product_query'             => 'recent',
				'_product_categories'        => '',
				'_product_tags'              => '',
				'_product_in'                => '',
				'_products_per_page'         => '12',
				'_product_title'             => 'on',
				'_product_rating'            => 'on',
				'_product_price'             => 'on',
				'_product_cart_button'       => 'on',
				'_product_onsale'            => 'on',
				'_product_wishlist'          => 'off',
				'_product_quick_view'        => 'off',
				'_product_title_color'       => Helper::get_default_setting( 'product_title_color' ),
				'_product_button_bg_color'   => Helper::get_default_setting( 'product_button_bg_color' ),
				'_product_button_text_color' => Helper::get_default_setting( 'product_button_text_color' ),
			],
			parent::get_default_settings()
		);
	}

	/**
	 * Create gallery image carousel with random images
	 *
	 * @param string $slider_title The slider title.
	 * @param array  $args Arguments.
	 *
	 * @return int The post ID on success. The value 0 on failure.
	 */
	public static function create( string $slider_title = null, array $args = [] ): int {
		if ( empty( $slider_title ) ) {
			$slider_title = 'Product Carousel';
		}

		$post_id = self::create_slider( $slider_title );

		if ( ! $post_id ) {
			return 0;
		}

		$data       = wp_parse_args( $args, self::get_default_settings() );
		$query_type = $data['_product_query_type'];

		$query_types  = [
			'specific_products'  => [
				'_product_in' => implode( ',', self::get_random_products_ids() ),
			],
			'product_categories' => [
				'_product_categories' => implode( ',', self::get_product_categories_ids() ),
			],
			'product_tags'       => [
				'_product_tags' => implode( ',', self::get_product_tags_ids() ),
			],
			'query_product'      => [
				'_product_query' => 'recent',
			],
		];
		$default_args = $query_types[ $query_type ] ?? [];

		foreach ( $default_args as $meta_key => $default_value ) {
			if ( empty( $data[ $meta_key ] ) ) {
				$data[ $meta_key ] = $default_value;
			}
		}

		foreach ( $data as $meta_key => $meta_value ) {
			update_post_meta( $post_id, $meta_key, $meta_value );
		}

		return $post_id;
	}

	/**
	 * Get random products ID
	 *
	 * @return array List of products ID.
	 */
	private static function get_random_products_ids(): array {
		$args = array(
			'post_type'      => 'product',
			'post_status'    => 'publish',
			'orderby'        => 'rand',
			'posts_per_page' => 10,
		);

		$_posts = get_posts( $args );

		return wp_list_pluck( $_posts, 'ID' );
	}

	/**
	 * Get random product categories id
	 *
	 * @return array List of product categories id.
	 */
	private static function get_product_categories_ids(): array {
		$terms = get_terms(
			[
				'taxonomy'   => 'product_cat',
				'hide_empty' => true,
				'number'     => 5,
			]
		);

		return wp_list_pluck( $terms, 'term_id' );
	}

	/**
	 * Get random product tags id
	 *
	 * @return array List of product tags id.
	 */
	private static function get_product_tags_ids(): array {
		$terms = get_terms(
			array(
				'taxonomy'   => 'product_tag',
				'hide_empty' => true,
				'number'     => 5,
			)
		);

		return wp_list_pluck( $terms, 'term_id' );
	}
}

Filemanager

Name Type Size Permission Actions
Admin.php File 9.77 KB 0775
Helper.php File 6.28 KB 0775
Module.php File 5.26 KB 0775
Setting.php File 4.3 KB 0775
Template.php File 3.69 KB 0775
View.php File 6.3 KB 0775
Filemanager