summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/jetpack/modules/widgets.php')
-rw-r--r--plugins/jetpack/modules/widgets.php91
1 files changed, 91 insertions, 0 deletions
diff --git a/plugins/jetpack/modules/widgets.php b/plugins/jetpack/modules/widgets.php
new file mode 100644
index 00000000..84ad7cd0
--- /dev/null
+++ b/plugins/jetpack/modules/widgets.php
@@ -0,0 +1,91 @@
+<?php
+/**
+ * Module Name: Extra Sidebar Widgets
+ * Module Description: Provides additional widgets for use on your site.
+ * Sort Order: 4
+ * First Introduced: 1.2
+ * Requires Connection: No
+ * Auto Activate: No
+ * Module Tags: Social, Appearance
+ * Feature: Appearance
+ * Additional Search Queries: widget, widgets, facebook, gallery, twitter, gravatar, image, rss
+ */
+
+function jetpack_load_widgets() {
+ $widgets_include = array();
+
+ foreach ( Jetpack::glob_php( dirname( __FILE__ ) . '/widgets' ) as $file ) {
+ $widgets_include[] = $file;
+ }
+ /**
+ * Modify which Jetpack Widgets to register.
+ *
+ * @module widgets
+ *
+ * @since 2.2.1
+ *
+ * @param array $widgets_include An array of widgets to be registered.
+ */
+ $widgets_include = apply_filters( 'jetpack_widgets_to_include', $widgets_include );
+
+ foreach( $widgets_include as $include ) {
+ include_once $include;
+ }
+
+ include_once dirname( __FILE__ ) . '/widgets/migrate-to-core/image-widget.php';
+ include_once dirname( __FILE__ ) . '/widgets/migrate-to-core/gallery-widget.php';
+}
+
+add_action( 'jetpack_modules_loaded', 'jetpack_widgets_loaded' );
+
+function jetpack_widgets_loaded() {
+ Jetpack::enable_module_configurable( __FILE__ );
+ add_filter( 'jetpack_module_configuration_url_widgets', 'jetpack_widgets_configuration_url' );
+}
+
+/**
+ * Overrides default configuration url
+ *
+ * @uses admin_url
+ * @return string module settings URL
+ */
+function jetpack_widgets_configuration_url() {
+ return admin_url( 'customize.php?autofocus[panel]=widgets' );
+}
+
+jetpack_load_widgets();
+
+/**
+ * Enqueue utilities to work with widgets in Customizer.
+ *
+ * @since 4.4.0
+ */
+function jetpack_widgets_customizer_assets_preview() {
+ wp_enqueue_script( 'jetpack-customizer-widget-utils', plugins_url( '/widgets/customizer-utils.js', __FILE__ ), array( 'customize-base' ) );
+}
+add_action( 'customize_preview_init', 'jetpack_widgets_customizer_assets_preview' );
+
+/**
+ * Enqueue styles to stylize widgets in Customizer.
+ *
+ * @since 4.4.0
+ */
+function jetpack_widgets_customizer_assets_controls() {
+ wp_enqueue_style( 'jetpack-customizer-widget-controls', plugins_url( '/widgets/customizer-controls.css', __FILE__ ), array( 'customize-widgets' ) );
+}
+add_action( 'customize_controls_enqueue_scripts', 'jetpack_widgets_customizer_assets_controls' );
+
+function jetpack_widgets_remove_old_widgets() {
+ $old_widgets = array(
+ 'googleplus-badge',
+ );
+
+ // Don't bother cleaning up the sidebars_widgets data.
+ // That will get cleaned up the next time a widget is
+ // added, removed, moved, etc.
+ foreach ( $old_widgets as $old_widget ) {
+ delete_option( "widget_{$old_widget}" );
+ }
+}
+
+add_action( 'updating_jetpack_version', 'jetpack_widgets_remove_old_widgets' );