x . '.js',
[
'wp-i18n',
'elementor-frontend',
],
ELEMENTOR_PRO_VERSION,
true
);
}
public function get_responsive_stylesheet_templates( $templates ) {
$templates_paths = glob( $this->get_responsive_templates_path() . '*.css' );
foreach ( $templates_paths as $template_path ) {
$file_name = 'custom-pro-' . basename( $template_path );
$templates[ $file_name ] = $template_path;
}
return $templates;
}
public function on_elementor_init() {
$this->modules_manager = new Modules_Manager();
/** TODO: BC for Elementor v2.4.0 */
if ( class_exists( '\Elementor\Core\Upgrade\Manager' ) ) {
$this->upgrade = UpgradeManager::instance();
}
/**
* Elementor Pro init.
*
* Fires on Elementor Pro initiation, after Elementor has finished loading
* but before any headers are sent.
*
* @since 1.0.0
*/
do_action( 'elementor_pro/init' );
}
/**
* @param \Elementor\Core\Base\Document $document
*/
public function on_document_save_version( $document ) {
$document->update_meta( '_elementor_pro_version', ELEMENTOR_PRO_VERSION );
}
private function get_frontend_depends() {
$frontend_depends = [
'elementor-pro-webpack-runtime',
'elementor-frontend-modules',
];
if ( ! $this->is_assets_loader_exist() ) {
$frontend_depends[] = 'elementor-sticky';
}
return $frontend_depends;
}
private function get_responsive_templates_path() {
return ELEMENTOR_PRO_ASSETS_PATH . 'css/templates/';
}
private function add_subscription_template_access_level_to_settings( $settings ) {
// Core >= 3.2.0
if ( isset( $settings['library_connect']['current_access_level'] ) ) {
$settings['library_connect']['current_access_level'] = API::get_library_access_level();
}
return $settings;
}
private function setup_hooks() {
add_action( 'elementor/init', [ $this, 'on_elementor_init' ] );
add_action( 'elementor/frontend/before_register_scripts', [ $this, 'register_frontend_scripts' ] );
add_action( 'elementor/preview/enqueue_scripts', [ $this, 'register_preview_scripts' ] );
add_action( 'elementor/frontend/before_enqueue_scripts', [ $this, 'enqueue_frontend_scripts' ] );
add_action( 'elementor/frontend/after_enqueue_styles', [ $this, 'enqueue_styles' ] );
add_filter( 'elementor/core/breakpoints/get_stylesheet_template', [ $this, 'get_responsive_stylesheet_templates' ] );
add_action( 'elementor/document/save_version', [ $this, 'on_document_save_version' ] );
add_filter( 'elementor/editor/localize_settings', function ( $settings ) {
return $this->add_subscription_template_access_level_to_settings( $settings );
}, 11 /** After Elementor Core (Library) */ );
}
private function is_optimized_css_mode() {
$is_optimized_css_loading = self::elementor()->experiments->is_feature_active( 'e_optimized_css_loading' );
return ! Utils::is_script_debug() && $is_optimized_css_loading && ! self::elementor()->preview->is_preview_mode();
}
private function get_assets() {
$suffix = $this->get_assets_suffix();
return [
'scripts' => [
'e-sticky' => [
'src' => ELEMENTOR_PRO_URL . 'assets/lib/sticky/jquery.sticky' . $suffix . '.js',
'version' => ELEMENTOR_PRO_VERSION,
'dependencies' => [
'jquery',
],
],
],
];
}
private function register_assets() {
$assets = $this->get_assets();
if ( $assets ) {
self::elementor()->assets_loader->add_assets( $assets );
}
}
private function is_assets_loader_exist() {
return ! ! self::elementor()->assets_loader;
}
/**
* Plugin constructor.
*/
private function __construct() {
spl_autoload_register( [ $this, 'autoload' ] );
new Connect\Manager();
$this->setup_hooks();
$this->editor = new Editor();
$this->preview = new Preview();
$this->app = new App();
$this->license_admin = new License\Admin();
if ( is_user_logged_in() ) {
$this->integrations = new Integrations_Manager(); // TODO: This one is safe to move out of the condition.
$this->notifications = new Notifications_Manager();
}
if ( is_admin() ) {
$this->admin = new Admin();
$this->license_admin->register_actions();
}
// The `Updater` class is responsible for adding some updates related filters, including auto updates, and since
// WP crons don't run on admin mode, it should not depend on it.
$this->updater = new Updater();
}
private function get_assets_suffix() {
return defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
}
private function get_frontend_file( $frontend_file_name ) {
$template_file_path = self::get_responsive_templates_path() . $frontend_file_name;
return self::elementor()->frontend->get_frontend_file( $frontend_file_name, 'custom-pro-', $template_file_path );
}
final public static function get_title() {
return esc_html__( 'Elementor Pro', 'elementor-pro' );
}
}
if ( ! defined( 'ELEMENTOR_PRO_TESTS' ) ) {
// In tests we run the instance manually.
Plugin::instance();
}
100-75-141 – تک ظرف پلاستیک
مشخصات فنی محصولات تک ظرف
کد محصول |
100-75-141 |
متریال |
PS |
سایز |
75x45mm |
حجم |
100gr |
بستهبندی |
کارتن 2310 عددی |
اینتر را بزنید تا جستجو کنید یا ESC را ببندید