PluginProbe ʕ •ᴥ•ʔ
EmbedPress – PDF Embedder, Embed PDF viewer, YouTube Videos, 3D FlipBook, Social feeds & more / 3.9.0
EmbedPress – PDF Embedder, Embed PDF viewer, YouTube Videos, 3D FlipBook, Social feeds & more v3.9.0
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 2 years ago Embedpress_Elementor_Integration.php 3 years ago
Embedpress_Elementor_Integration.php
131 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_action( 'elementor/widgets/register', array( $this, 'register_widget' ) );
28 add_filter( 'oembed_providers', [ $this, 'addOEmbedProviders' ] );
29 }
30 }
31
32 /**
33 * Add elementor category
34 *
35 * @since 2.4.3
36 */
37 public function register_widget_categories( $elements_manager ) {
38 $elements_manager->add_category(
39 'embedpress',
40 [
41 'title' => __( 'EmbedPress', 'embedpress' ),
42 'icon' => 'font',
43 ], 1 );
44 }
45
46 /**
47 * Load elementor widget
48 *
49 * @param $widgets_manager
50 * @throws \Exception
51 * @since 2.4.2
52 */
53 public function register_widget( $widgets_manager ) {
54 if(
55 did_action('elementor/widgets/widgets_registered') &&
56 did_action('elementor/widgets/register') // doing action
57 ){
58 return;
59 }
60
61 $elements = (array) get_option( EMBEDPRESS_PLG_NAME.":elements", []);
62 $e_blocks = isset( $elements['elementor']) ? (array) $elements['elementor'] : [];
63
64 if(method_exists($widgets_manager, 'register')){
65 if ( !empty($e_blocks['embedpress']) ) {
66 $widgets_manager->register( new Embedpress_Elementor );
67 }
68 if ( !empty($e_blocks['embedpress-document']) ) {
69 $widgets_manager->register( new Embedpress_Document );
70 }
71
72 if ( !empty($e_blocks['embedpress-pdf']) ) {
73 $widgets_manager->register( new Embedpress_Pdf );
74 }
75 if ( !empty($e_blocks['embedpress-calendar']) ) {
76 $widgets_manager->register( new Embedpress_Calendar );
77 }
78 }
79 else{
80 if ( !empty($e_blocks['embedpress']) ) {
81 $widgets_manager->register_widget_type( new Embedpress_Elementor );
82 }
83 if ( !empty($e_blocks['embedpress-document']) ) {
84 $widgets_manager->register_widget_type( new Embedpress_Document );
85 }
86
87 if ( !empty($e_blocks['embedpress-pdf']) ) {
88 $widgets_manager->register_widget_type( new Embedpress_Pdf );
89 }
90 if ( !empty($e_blocks['embedpress-calendar']) ) {
91 $widgets_manager->register_widget_type( new Embedpress_Calendar );
92 }
93 }
94 }
95
96 /**
97 * Enqueue elementor assets
98 * @since 2.4.3
99 */
100 public function embedpress_enqueue_style() {
101 wp_enqueue_style(
102 'embedpress-elementor-css',
103 EMBEDPRESS_URL_ASSETS . 'css/embedpress-elementor.css',
104 false,
105 EMBEDPRESS_VERSION
106 );
107 }
108
109 public function editor_enqueue_style(){
110 wp_enqueue_style(
111 'embedpress-el-icon',
112 EMBEDPRESS_URL_ASSETS . 'css/el-icon.css',
113 false,
114 EMBEDPRESS_VERSION
115 );
116 }
117
118 public function editor_enqueue_scripts() {
119
120 }
121
122 public function addOEmbedProviders( $providers ) {
123 if (Compatibility::isWordPress5() && ! Compatibility::isClassicalEditorActive()) {
124 unset( $providers['#https?://(.+\.)?wistia\.com/medias/.+#i'], $providers['#https?://(.+\.)?fast\.wistia\.com/embed/medias/.+#i\.jsonp'] );
125 }
126
127 return $providers;
128 }
129
130 }
131