=')) { add_action('admin_notices', [$this, 'admin_notice_minimum_elementor_version']); return; } // Проверка версии PHP if (version_compare(PHP_VERSION, self::MINIMUM_PHP_VERSION, '<')) { add_action('admin_notices', [$this, 'admin_notice_minimum_php_version']); return; } // Добавляем поддержку динамических тегов add_action('elementor/dynamic_tags/register', [$this, 'register_dynamic_tags']); // Регистрируем виджет add_action('elementor/widgets/register', [$this, 'register_widgets']); // Регистрируем скрипты и стили add_action('elementor/frontend/after_register_scripts', [$this, 'register_scripts']); add_action('elementor/frontend/after_register_styles', [$this, 'register_styles']); } public function register_widgets($widgets_manager) { require_once(__DIR__ . '/includes/widgets/pdf-viewer-widget.php'); $widgets_manager->register(new \PDF_Viewer_Widget()); } public function register_scripts() { wp_register_script( 'pdf-viewer-widget', plugins_url('assets/js/pdf-viewer-widget.js', __FILE__), ['jquery', 'pdfjs'], self::VERSION, true ); } public function register_styles() { wp_register_style( 'pdf-viewer-widget', plugins_url('assets/css/pdf-viewer-widget.css', __FILE__), [], self::VERSION ); } public function register_dynamic_tags($dynamic_tags_manager) { // Регистрируем категорию для PDF \Elementor\Plugin::$instance->dynamic_tags->register_group( 'pdf', [ 'title' => 'PDF' ] ); // Подключаем и регистрируем наш тег require_once(__DIR__ . '/includes/dynamic-tags/pdf-url.php'); $dynamic_tags_manager->register(new \PDF_Viewer_URL_Tag()); } public function admin_notice_missing_main_plugin() { if (isset($_GET['activate'])) unset($_GET['activate']); $message = sprintf( esc_html__('"%1$s" requires "%2$s" to be installed and activated.', 'pdf-viewer-elementor'), '' . esc_html__('PDF Viewer for Elementor', 'pdf-viewer-elementor') . '', '' . esc_html__('Elementor', 'pdf-viewer-elementor') . '' ); printf('

%1$s

', $message); } public function add_pdf_mime_type($mimes) { $mimes['pdf'] = 'application/pdf'; return $mimes; } public function update_pdf_attachment_details($response, $attachment) { if ($response['mime'] === 'application/pdf') { $response['icon'] = includes_url('images/media/document.png'); $response['sizes'] = [ 'full' => [ 'url' => $response['url'], ], ]; } return $response; } } PDF_Viewer_Elementor::instance();