diff options
Diffstat (limited to 'plugins/jetpack/modules/module-extras.php')
-rw-r--r-- | plugins/jetpack/modules/module-extras.php | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/plugins/jetpack/modules/module-extras.php b/plugins/jetpack/modules/module-extras.php new file mode 100644 index 00000000..989512dc --- /dev/null +++ b/plugins/jetpack/modules/module-extras.php @@ -0,0 +1,85 @@ +<?php +/** + * Load module code that is needed even when a module isn't active. + * For example, if a module shouldn't be activatable unless certain conditions are met, + * the code belongs in this file. + * + * @package Jetpack + */ + +/** + * Features available all the time: + * - When in development mode. + * - When connected to WordPress.com. + */ +$tools = array( + // Always loaded, but only registered if theme supports it. + 'custom-post-types/comics.php', + 'custom-post-types/testimonial.php', + 'custom-post-types/nova.php', + 'geo-location.php', + 'theme-tools.php', + 'theme-tools/social-links.php', + 'theme-tools/random-redirect.php', + 'theme-tools/featured-content.php', + 'theme-tools/infinite-scroll.php', + 'theme-tools/responsive-videos.php', + 'theme-tools/site-logo.php', + 'theme-tools/site-breadcrumbs.php', + 'theme-tools/social-menu.php', + 'theme-tools/content-options.php', + // Needed for SEO Tools. + 'seo-tools/jetpack-seo-utils.php', + 'seo-tools/jetpack-seo-titles.php', + 'seo-tools/jetpack-seo-posts.php', + 'verification-tools/verification-tools-utils.php', + // Needed for VideoPress, so videos keep working in existing posts/pages when the module is deactivated. + 'videopress/utility-functions.php', + 'videopress/class.videopress-gutenberg.php', +); + +// Some features are only available when connected to WordPress.com. +$connected_tools = array( + 'calypsoify/class.jetpack-calypsoify.php', + 'plugin-search.php', + 'simple-payments/simple-payments.php', + 'woocommerce-analytics/wp-woocommerce-analytics.php', + 'wpcom-block-editor/class-jetpack-wpcom-block-editor.php', +); + +// Add connected features to our existing list if the site is currently connected. +if ( Jetpack::is_active() ) { + $tools = array_merge( $tools, $connected_tools ); +} + +/** + * Filter extra tools (not modules) to include. + * + * @since 2.4.0 + * @since 5.4.0 can be used in multisite when Jetpack is not connected to WordPress.com and not in development mode. + * + * @param array $tools Array of extra tools to include. + */ +$jetpack_tools_to_include = apply_filters( 'jetpack_tools_to_include', $tools ); + +if ( ! empty( $jetpack_tools_to_include ) ) { + foreach ( $jetpack_tools_to_include as $tool ) { + if ( file_exists( JETPACK__PLUGIN_DIR . '/modules/' . $tool ) ) { + require_once JETPACK__PLUGIN_DIR . '/modules/' . $tool; + } + } +} + +/** + * Add the "(Jetpack)" suffix to the widget names + * + * @param string $widget_name Widget name. + */ +function jetpack_widgets_add_suffix( $widget_name ) { + return sprintf( + /* Translators: Placeholder is the name of a widget. */ + __( '%s (Jetpack)', 'jetpack' ), + $widget_name + ); +} +add_filter( 'jetpack_widget_name', 'jetpack_widgets_add_suffix' ); |