PluginProbe
Automatic YouTube Gallery – Embed Auto-Updating YouTube Video Galleries, Feeds, Playlists & Channels / 2.6.4
Automatic YouTube Gallery – Embed Auto-Updating YouTube Video Galleries, Feeds, Playlists & Channels v2.6.4
2.9.1 2.9.0 trunk 1.0.0 1.1.0 1.2.0 1.3.0 1.4.0 1.5.0 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 2.0.0 2.1.0 2.2.0 2.3.2 2.3.3 2.3.5 2.3.6 2.3.8 2.3.9 2.4.3 All 37 releases
← All changes | includes/init.php +66 -10 1.3.02.6.4 View file →
@@ -44,8 +44,9 @@
44 44 $this->set_locale();
45 45 $this->define_admin_hooks();
46 46 $this->define_public_hooks();
47 47 $this->define_block_hooks();
48 + $this->define_widget_hooks();
48 49 }
49 50
50 51 /**
51 52 * Load the required dependencies for this plugin.
@@ -81,9 +82,9 @@
81 82
82 83 /**
83 84 * The classes responsible for defining all actions that occur in the admin area.
84 85 */
85 - require_once AYG_DIR . 'admin/admin.php';
86 + require_once AYG_DIR . 'admin/admin.php';
86 87 require_once AYG_DIR . 'admin/settings.php';
87 88
88 89 /**
89 90 * The class responsible for defining all actions that occur in the public-facing
@@ -89,13 +90,19 @@
89 90 * The class responsible for defining all actions that occur in the public-facing
90 91 * side of the site.
91 92 */
92 93 require_once AYG_DIR . 'public/public.php';
94 + require_once AYG_DIR . 'public/cron.php';
93 95
94 96 /**
95 97 * The class responsible for defining all actions that occur in the gutenberg block.
96 98 */
97 - require_once AYG_DIR. 'block/block.php';
99 + require_once AYG_DIR. 'block/block.php';
100 +
101 + /**
102 + * The class responsible for defining all actions that occur in the widget.
103 + */
104 + require_once AYG_DIR . 'widget/widget.php';
98 105
99 106 /**
100 107 * Create an instance of the loader.
101 108 */
@@ -123,11 +130,15 @@
123 130 private function define_admin_hooks() {
124 131 // Hooks common to all admin pages
125 132 $admin = new AYG_Admin();
126 133
134 + $this->loader->add_action( 'admin_init', $admin, 'insert_missing_options', 1 );
127 135 $this->loader->add_action( 'admin_enqueue_scripts', $admin, 'enqueue_styles' );
128 136 $this->loader->add_action( 'admin_enqueue_scripts', $admin, 'enqueue_scripts' );
137 + $this->loader->add_action( 'elementor/editor/after_enqueue_styles', $admin, 'enqueue_styles' );
138 + $this->loader->add_action( 'elementor/editor/after_enqueue_scripts', $admin, 'enqueue_scripts' );
129 139 $this->loader->add_action( 'admin_menu', $admin, 'admin_menu' );
140 + $this->loader->add_action( 'admin_notices', $admin, 'admin_notices' );
130 141 $this->loader->add_action( 'wp_ajax_ayg_save_api_key', $admin, 'ajax_callback_save_api_key' );
131 142
132 143 $this->loader->add_filter( 'plugin_action_links_' . AYG_FILE_NAME, $admin, 'plugin_action_links' );
133 144
@@ -135,9 +146,9 @@
135 146 $settings = new AYG_Admin_Settings();
136 147
137 148 $this->loader->add_action( 'admin_menu', $settings, 'admin_menu' );
138 149 $this->loader->add_action( 'admin_init', $settings, 'admin_init' );
139 - $this->loader->add_action( 'wp_ajax_ayg_delete_cache', $settings, 'ajax_callback_delete_cache' );
150 + $this->loader->add_action( 'wp_ajax_ayg_delete_cache', $settings, 'ajax_callback_delete_cache' );
140 151 }
141 152
142 153 /**
143 154 * Register all of the hooks related to the public-facing functionality
@@ -146,14 +157,30 @@
146 157 * @since 1.0.0
147 158 * @access private
148 159 */
149 160 private function define_public_hooks() {
161 + // Hooks common to all public pages
150 162 $public = new AYG_Public();
151 -
163 +
152 164 $this->loader->add_action( 'wp_enqueue_scripts', $public, 'register_styles' );
153 165 $this->loader->add_action( 'wp_enqueue_scripts', $public, 'register_scripts' );
154 - $this->loader->add_action( 'wp_ajax_ayg_load_more_videos', $public, 'ajax_callback_load_more_videos' );
155 - $this->loader->add_action( 'wp_ajax_nopriv_ayg_load_more_videos', $public, 'ajax_callback_load_more_videos' );
166 + $this->loader->add_action( 'enqueue_block_editor_assets', $public, 'enqueue_block_editor_assets' );
167 + $this->loader->add_action( 'elementor/editor/after_enqueue_scripts', $public, 'enqueue_block_editor_assets' );
168 + $this->loader->add_action( 'elementor/preview/enqueue_scripts', $public, 'enqueue_block_editor_assets' );
169 + $this->loader->add_action( 'wp_ajax_ayg_load_videos', $public, 'ajax_callback_load_videos' );
170 + $this->loader->add_action( 'wp_ajax_nopriv_ayg_load_videos', $public, 'ajax_callback_load_videos' );
171 + $this->loader->add_action( 'wp_ajax_ayg_set_cookie', $public, 'set_gdpr_cookie' );
172 + $this->loader->add_action( 'wp_ajax_nopriv_ayg_set_cookie', $public, 'set_gdpr_cookie' );
173 +
174 + $this->loader->add_filter( 'smush_skip_iframe_from_lazy_load', $public, 'smush', 999, 2 );
175 +
176 + // Hooks specific to the cron jobs
177 + $cron = new AYG_Public_Cron();
178 +
179 + $this->loader->add_action( 'wp', $cron, 'schedule_events' );
180 + $this->loader->add_action( 'ayg_schedule_weekly', $cron, 'cron_event' );
181 +
182 + $this->loader->add_filter( 'cron_schedules', $cron, 'cron_schedules' );
156 183 }
157 184
158 185 /**
159 186 * Register all of the hooks related to the gutenberg block.
@@ -161,18 +188,47 @@
161 188 * @since 1.0.0
162 189 * @access private
163 190 */
164 191 private function define_block_hooks() {
192 + if ( is_admin() ) {
193 + global $pagenow;
194 + if ( 'widgets.php' === $pagenow ) return;
195 + }
196 +
197 + global $wp_version;
198 +
165 199 $block = new AYG_Block();
166 200
167 201 $this->loader->add_action( 'init', $block, 'register_block_type' );
168 202 $this->loader->add_action( 'enqueue_block_editor_assets', $block, 'enqueue_block_editor_assets' );
169 - $this->loader->add_action( 'enqueue_block_assets', $block, 'enqueue_block_assets' );
170 203
171 - $this->loader->add_filter( 'block_categories', $block, 'block_categories' );
172 - }
204 + if ( version_compare( $wp_version, '5.8', '>=' ) ) {
205 + $this->loader->add_filter( 'block_categories_all', $block, 'block_categories' );
206 + } else {
207 + $this->loader->add_filter( 'block_categories', $block, 'block_categories' );
208 + }
209 + }
210 +
211 + /**
212 + * Register all of the hooks related to the widget.
213 + *
214 + * @since 2.1.0
215 + * @access private
216 + */
217 + private function define_widget_hooks() {
218 + $this->loader->add_action( 'widgets_init', $this, 'register_widget' );
219 + }
173 220
174 221 /**
222 + * Register the widget.
223 + *
224 + * @since 2.1.0
225 + */
226 + public function register_widget() {
227 + register_widget( 'AYG_Widget' );
228 + }
229 +
230 + /**
175 231 * Run the loader to execute all of the hooks with WordPress.
176 232 *
177 233 * @since 1.0.0
178 234 */
@@ -179,5 +235,5 @@
179 235 public function run() {
180 236 $this->loader->run();
181 237 }
182 238
183 -}
239 +}