<?php /* Plugin Name: Product Slider for WooCommerce by PickPlugins Plugin URI: http://pickplugins.com/items/woocommerce-product-slider-for-wordpress/ Description: Fully responsive and mobile ready Carousel Slider for your WooCommerce product. unlimited slider anywhere via short-codes and easy admin setting. Version: 1.13.51 WC requires at least: 3.0.0 WC tested up to: 9.1 Author: PickPlugins Text Domain: woocommerce-products-slider Author URI: http://pickplugins.com License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html */ if (!defined('ABSPATH')) exit; // if direct access class WoocommerceProductsSlider { public function __construct() { define('wcps_plugin_url', plugins_url('/', __FILE__)); define('wcps_plugin_dir', plugin_dir_path(__FILE__)); define('wcps_plugin_name', 'PickPlugins Product Slider'); define('wcps_plugin_version', '1.13.51'); define('wcps_server_url', 'https://www.pickplugins.com/demo/woocommerce-products-slider/'); //define('wcps_server_url', 'http://localhost/wp/'); require_once(wcps_plugin_dir . 'includes/class-post-types.php'); require_once(wcps_plugin_dir . 'includes/class-metabox-wcps.php'); require_once(wcps_plugin_dir . 'includes/class-metabox-wcps-hook.php'); require_once(wcps_plugin_dir . 'includes/functions-layout-api.php'); require_once(wcps_plugin_dir . 'includes/class-metabox-wcps-layout.php'); require_once(wcps_plugin_dir . 'includes/class-metabox-wcps-layout-hook.php'); require_once(wcps_plugin_dir . 'includes/functions-layout-hook.php'); require_once(wcps_plugin_dir . 'includes/functions-layout-element.php'); require_once(wcps_plugin_dir . 'templates/wcps-slider/wcps-slider-hook.php'); require_once(wcps_plugin_dir . 'includes/class-admin-notices.php'); require_once(wcps_plugin_dir . 'includes/class-settings.php'); require_once(wcps_plugin_dir . 'includes/functions-settings-hook.php'); require_once(wcps_plugin_dir . 'includes/duplicate-post.php'); require_once(wcps_plugin_dir . 'includes/3rd-party/3rd-party.php'); require_once(plugin_dir_path(__FILE__) . 'includes/functions.php'); require_once(plugin_dir_path(__FILE__) . 'includes/class-functions.php'); require_once(plugin_dir_path(__FILE__) . 'includes/class-shortcodes.php'); require_once(plugin_dir_path(__FILE__) . 'includes/class-settings-tabs.php'); // to work upload button add_action('admin_enqueue_scripts', 'wp_enqueue_media'); //short-code support into sidebar. add_filter('widget_text', 'do_shortcode'); add_action('wp_enqueue_scripts', array($this, '_front_scripts')); add_action('admin_enqueue_scripts', array($this, '_admin_scripts')); add_action('plugins_loaded', array($this, '_textdomain')); add_action('before_woocommerce_init', array($this, 'high_performance_order_storage')); register_activation_hook(__FILE__, array($this, '_activation')); register_deactivation_hook(__FILE__, array($this, '_deactivation')); //register_uninstall_hook( __FILE__, array( $this, '_uninstall' ) ); //add_filter('cron_schedules', array($this, 'cron_recurrence_interval')); } // Declare that the plugin is compatible with WooCommerce High-Performance order storage feature. function high_performance_order_storage() { if (class_exists(\Automattic\WooCommerce\Utilities\FeaturesUtil::class)) { \Automattic\WooCommerce\Utilities\FeaturesUtil::declare_compatibility('custom_order_tables', __FILE__, true); } } public function _textdomain() { $locale = apply_filters('plugin_locale', get_locale(), 'woocommerce-products-slider'); load_textdomain('woocommerce-products-slider', WP_LANG_DIR . '/woocommerce-products-slider/woocommerce-products-slider-' . $locale . '.mo'); load_plugin_textdomain('woocommerce-products-slider', false, plugin_basename(dirname(__FILE__)) . '/languages/'); } function cron_recurrence_interval($schedules) { $schedules['1minute'] = array( 'interval' => 40, 'display' => __('1 Minute', 'woocommerce-products-slider') ); return $schedules; } public function _activation() { $class_wcps_post_types = new class_wcps_post_types(); $_posttype_wcps = $class_wcps_post_types->_posttype_wcps(); flush_rewrite_rules(); do_action('wcps_plugin_activation'); } public function _deactivation() { wp_clear_scheduled_hook('wcps_cron_upgrade_settings'); wp_clear_scheduled_hook('wcps_cron_upgrade_wcps'); do_action('wcps_plugin_deactivation'); } public function _uninstall() { do_action('wcps_plugin_uninstall'); } public function _front_scripts() { wp_register_style('font-awesome-4', wcps_plugin_url . 'assets/global/css/font-awesome-4.css'); wp_register_style('font-awesome-5', wcps_plugin_url . 'assets/global/css/font-awesome-5.css'); wp_register_script('owl.carousel', wcps_plugin_url . 'assets/front/js/owl.carousel.js', array('jquery')); wp_register_style('owl.carousel', wcps_plugin_url . 'assets/front/css/owl.carousel.css'); wp_register_script('slick', wcps_plugin_url . 'assets/front/js/slick.js', array('jquery')); wp_register_style('slick', wcps_plugin_url . 'assets/front/css/slick.css'); wp_register_script('wcps_script', wcps_plugin_url . 'assets/front/js/scripts.js', array('jquery')); // wp_register_script('tiny-slider', 'https://cdnjs.cloudflare.com/ajax/libs/tiny-slider/2.9.2/min/tiny-slider.js' , array( 'jquery' )); // wp_register_style('tiny-slider', wcps_plugin_url.'assets/front/css/tiny-slider.css'); wp_register_style('animate', wcps_plugin_url . 'assets/front/css/animate.css'); } public function _admin_scripts() { $screen = get_current_screen(); //var_dump($screen); wp_register_style('font-awesome-4', wcps_plugin_url . 'assets/global/css/font-awesome-4.css'); wp_register_style('font-awesome-5', wcps_plugin_url . 'assets/global/css/font-awesome-5.css'); wp_register_style('settings-tabs', wcps_plugin_url . 'assets/settings-tabs/settings-tabs.css'); wp_register_script('settings-tabs', wcps_plugin_url . 'assets/settings-tabs/settings-tabs.js', array('jquery')); //wp_register_script('wcps-layouts-api', wcps_plugin_url.'assets/admin/js/scripts-layouts.js' , array( 'jquery' )); wp_register_script('jquery.lazy', wcps_plugin_url . 'assets/admin/js/jquery.lazy.js', array('jquery')); if ($screen->id == 'wcps_page_settings' || $screen->id == 'wcps') { $settings_tabs_field = new settings_tabs_field(); $settings_tabs_field->admin_scripts(); } } } new WoocommerceProductsSlider();