PluginProbe ʕ •ᴥ•ʔ
EmbedPress – PDF Embedder, Embed PDF viewer, YouTube Videos, 3D FlipBook, Social feeds & more / 3.0.0
EmbedPress – PDF Embedder, Embed PDF viewer, YouTube Videos, 3D FlipBook, Social feeds & more v3.0.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 5 years ago Embedpress_Elementor_Integration.php 5 years ago
Embedpress_Elementor_Integration.php
92 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_Document;
9 use EmbedPress\Elementor\Widgets\Embedpress_Elementor;
10
11 class Embedpress_Elementor_Integration {
12
13 /**
14 * @since 2.4.2
15 */
16 public function init() {
17 $elements = (array) get_option( EMBEDPRESS_PLG_NAME.":elements", []);
18 $e_blocks = isset( $elements['elementor']) ? (array) $elements['elementor'] : [];
19 if ( !empty($e_blocks['embedpress']) || !empty($e_blocks['embedpress-document']) ) {
20 add_action( 'elementor/frontend/after_enqueue_styles', [ $this, 'embedpress_enqueue_style' ] );
21 add_action('elementor/editor/before_enqueue_scripts', array($this, 'editor_enqueue_scripts'));
22 add_action( 'elementor/elements/categories_registered', array( $this, 'register_widget_categories' ) );
23 add_action( 'elementor/widgets/widgets_registered', array( $this, 'register_widget' ) );
24 add_filter( 'oembed_providers', [ $this, 'addOEmbedProviders' ] );
25 }
26 }
27
28 /**
29 * Add elementor category
30 *
31 * @since 2.4.3
32 */
33 public function register_widget_categories( $elements_manager ) {
34 $elements_manager->add_category(
35 'embedpress',
36 [
37 'title' => __( 'EmbedPress', 'embedpress' ),
38 'icon' => 'font',
39 ], 1 );
40 }
41
42 /**
43 * Load elementor widget
44 *
45 * @param $widgets_manager
46 * @throws \Exception
47 * @since 2.4.2
48 */
49 public function register_widget( $widgets_manager ) {
50 $elements = (array) get_option( EMBEDPRESS_PLG_NAME.":elements", []);
51 $e_blocks = isset( $elements['elementor']) ? (array) $elements['elementor'] : [];
52
53 if ( !empty($e_blocks['embedpress']) ) {
54 $widgets_manager->register_widget_type( new Embedpress_Elementor );
55 }
56 if ( !empty($e_blocks['embedpress-document']) ) {
57 $widgets_manager->register_widget_type( new Embedpress_Document );
58 }
59 }
60
61 /**
62 * Enqueue elementor assets
63 * @since 2.4.3
64 */
65 public function embedpress_enqueue_style() {
66 wp_enqueue_style(
67 'embedpress-elementor-css',
68 EMBEDPRESS_URL_ASSETS . 'css/embedpress-elementor.css',
69 false,
70 EMBEDPRESS_VERSION
71 );
72 }
73
74 public function editor_enqueue_scripts(){
75 wp_enqueue_style(
76 'embedpress-el-icon',
77 EMBEDPRESS_URL_ASSETS . 'css/el-icon.css',
78 false,
79 EMBEDPRESS_VERSION
80 );
81 }
82
83 public function addOEmbedProviders( $providers ) {
84 if (Compatibility::isWordPress5() && ! Compatibility::isClassicalEditorActive()) {
85 unset( $providers['#https?://(.+\.)?wistia\.com/medias/.+#i'], $providers['#https?://(.+\.)?fast\.wistia\.com/embed/medias/.+#i\.jsonp'] );
86 }
87
88 return $providers;
89 }
90
91 }
92