PluginProbe ʕ •ᴥ•ʔ
EmbedPress – PDF Embedder, Embed PDF viewer, YouTube Videos, 3D FlipBook, Social feeds & more / 3.4.1
EmbedPress – PDF Embedder, Embed PDF viewer, YouTube Videos, 3D FlipBook, Social feeds & more v3.4.1
4.5.6 4.5.5 4.5.4 4.5.3 4.5.2 trunk 1.0.0 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.3.0 1.3.1 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.5.0 1.6.0 1.6.1 1.6.2 1.6.3 1.7.0 1.7.1 1.7.2 1.7.3 1.7.4 1.7.5 2.0.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.2.0 2.2.1 2.2.2 2.3.0 2.3.1 2.3.2 2.3.3 2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.1.3 3.2.0 3.2.1 3.3.0 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.3.7 3.4.0 3.4.1 3.4.2 3.4.3 3.5.0 3.5.1 3.5.2 3.5.3 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.6.5 3.6.6 3.6.7 3.6.8 3.7.0 3.7.1 3.7.2 3.7.3 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.9.0 3.9.1 3.9.10 3.9.11 3.9.12 3.9.13 3.9.14 3.9.15 3.9.16 3.9.17 3.9.2 3.9.3 3.9.4 3.9.5 3.9.6 3.9.7 3.9.8 3.9.9 4.0.0 4.0.1 4.0.10 4.0.11 4.0.12 4.0.13 4.0.14 4.0.2 4.0.3 4.0.4 4.0.5 4.0.6 4.0.7 4.0.8 4.0.9 4.1.0 4.1.1 4.1.10 4.1.2 4.1.3 4.1.4 4.1.5 4.1.6 4.1.7 4.1.8 4.1.9 4.2.0 4.2.1 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.2.8 4.2.9 4.3.0 4.3.1 4.4.0 4.4.1 4.4.10 4.4.11 4.4.2 4.4.3 4.4.4 4.4.5 4.4.6 4.4.7 4.4.8 4.4.9 4.5.0 4.5.1
embedpress / EmbedPress / Elementor / Embedpress_Elementor_Integration.php
embedpress / EmbedPress / Elementor Last commit date
Widgets 4 years ago Embedpress_Elementor_Integration.php 4 years ago
Embedpress_Elementor_Integration.php
106 lines
1 <?php
2
3 namespace EmbedPress\Elementor;
4
5
6 (defined( 'ABSPATH' )) or die( "No direct script access allowed." );
7 use EmbedPress\Compatibility;
8 use EmbedPress\Elementor\Widgets\Embedpress_Calendar;
9 use EmbedPress\Elementor\Widgets\Embedpress_Document;
10 use EmbedPress\Elementor\Widgets\Embedpress_Elementor;
11 use EmbedPress\Elementor\Widgets\Embedpress_Pdf;
12
13 class Embedpress_Elementor_Integration {
14
15 /**
16 * @since 2.4.2
17 */
18 public function init() {
19 $elements = (array) get_option( EMBEDPRESS_PLG_NAME.":elements", []);
20 $e_blocks = isset( $elements['elementor']) ? (array) $elements['elementor'] : [];
21 if ( !empty($e_blocks['embedpress']) || !empty($e_blocks['embedpress-document']) || !empty($e_blocks['embedpress-pdf']) ) {
22 add_action( 'elementor/frontend/after_enqueue_styles', [ $this, 'embedpress_enqueue_style' ] );
23 add_action('elementor/editor/before_enqueue_styles', array($this, 'editor_enqueue_style'));
24 add_action('elementor/editor/before_enqueue_scripts', array($this, 'editor_enqueue_scripts'));
25 add_action( 'elementor/elements/categories_registered', array( $this, 'register_widget_categories' ) );
26 add_action( 'elementor/widgets/widgets_registered', array( $this, 'register_widget' ) );
27 add_filter( 'oembed_providers', [ $this, 'addOEmbedProviders' ] );
28 }
29 }
30
31 /**
32 * Add elementor category
33 *
34 * @since 2.4.3
35 */
36 public function register_widget_categories( $elements_manager ) {
37 $elements_manager->add_category(
38 'embedpress',
39 [
40 'title' => __( 'EmbedPress', 'embedpress' ),
41 'icon' => 'font',
42 ], 1 );
43 }
44
45 /**
46 * Load elementor widget
47 *
48 * @param $widgets_manager
49 * @throws \Exception
50 * @since 2.4.2
51 */
52 public function register_widget( $widgets_manager ) {
53 $elements = (array) get_option( EMBEDPRESS_PLG_NAME.":elements", []);
54 $e_blocks = isset( $elements['elementor']) ? (array) $elements['elementor'] : [];
55
56 if ( !empty($e_blocks['embedpress']) ) {
57 $widgets_manager->register_widget_type( new Embedpress_Elementor );
58 }
59 if ( !empty($e_blocks['embedpress-document']) ) {
60 $widgets_manager->register_widget_type( new Embedpress_Document );
61 }
62
63 if ( !empty($e_blocks['embedpress-pdf']) ) {
64 $widgets_manager->register_widget_type( new Embedpress_Pdf );
65 }
66 if ( !empty($e_blocks['embedpress-calendar']) ) {
67 $widgets_manager->register_widget_type( new Embedpress_Calendar );
68 }
69 }
70
71 /**
72 * Enqueue elementor assets
73 * @since 2.4.3
74 */
75 public function embedpress_enqueue_style() {
76 wp_enqueue_style(
77 'embedpress-elementor-css',
78 EMBEDPRESS_URL_ASSETS . 'css/embedpress-elementor.css',
79 false,
80 EMBEDPRESS_VERSION
81 );
82 }
83
84 public function editor_enqueue_style(){
85 wp_enqueue_style(
86 'embedpress-el-icon',
87 EMBEDPRESS_URL_ASSETS . 'css/el-icon.css',
88 false,
89 EMBEDPRESS_VERSION
90 );
91 }
92
93 public function editor_enqueue_scripts(){
94
95 }
96
97 public function addOEmbedProviders( $providers ) {
98 if (Compatibility::isWordPress5() && ! Compatibility::isClassicalEditorActive()) {
99 unset( $providers['#https?://(.+\.)?wistia\.com/medias/.+#i'], $providers['#https?://(.+\.)?fast\.wistia\.com/embed/medias/.+#i\.jsonp'] );
100 }
101
102 return $providers;
103 }
104
105 }
106