有没有办法通过`unctions.php`启用Jetpack模块?

时间:2016-12-06 作者:Dre

是否有一个过滤器可以让您指定模块处于活动状态,而无需使用管理区域?我找到了可以隐藏模块的过滤器,但到目前为止还没有用于激活模块的过滤器。

本质上,我希望能够将其定义为始终打开,以便A)客户端不会意外禁用它,B)它使我不必跨不同环境同步DB设置。

2 个回复
SO网友:cjbj

第三方插件(是的,包括jetpack)在WPSE上是离题的,但好吧,给你:jetpack有一个过滤器jetpack_get_available_modules, 它允许您编辑活动模块的阵列。您可以通过从阵列中取消设置模块来禁用模块,也可以通过添加模块来启用模块。下面是如何启用单个模块“sharedaddy”:

function wpse248480_filter_jetpack( $modules, $min_version, $max_version ) {
    if (!(in_array(\'sharedaddy\',$modules))) $modules[] = \'sharedaddy\';
    return $modules;
    }
add_filter( \'jetpack_get_available_modules\', \'wpse248480_filter_jetpack\', 20, 3 );

UPDATE

以上仅过滤可用模块。要以编程方式实际(取消)激活它们,请使用(source):

function wpse248480_activate_jetpack () {
  Jetpack::activate_module(\'sharedaddy\');
  // Jetpack::deactivate_module(\'sharedaddy\');
  }
add_action(\'after_setup_theme\',\'wpse248480_activate_jetpack\');

SO网友:tom_mcc

有一个官方过滤器,jetpack_active_modules, 为了这个现在。它将根据需要强制启用/禁用模块。

下面的示例将禁用所有内容,取消注释一行将启用该模块。在您的情况下,只需确保描述所需模块的字符串在返回之前存在于数组中。

function wpse248480_jetpack_active_modules( $active ) {
    $active = array(
        // \'after-the-deadline\',
        // \'carousel\',
        // \'comment-likes\',
        // \'comments\',
        // \'contact-form\',
        // \'custom-content-types\',
        // \'custom-css\',
        // \'enhanced-distribution\',
        // \'google-analytics\',
        // \'gravatar-hovercards\',
        // \'infinite-scroll\',
        // \'json-api\',
        // \'latex\',
        // \'lazy-images\',
        // \'likes\',
        // \'manage\',
        // \'markdown\',
        // \'masterbar\',
        // \'minileven\',
        // \'module-extras\',
        // \'module-headings\',
        // \'module-info\',
        // \'monitor\',
        // \'notes\',
        // \'photon\',
        // \'post-by-email\',
        // \'protect\',
        // \'publicize\',
        // \'pwa\',
        // \'related-posts\',
        // \'search\',
        // \'seo-tools\',
        // \'sharedaddy\',
        // \'shortcodes\',
        // \'shortlinks\',
        // \'sitemaps\',
        // \'sso\',
        // \'stats\',
        // \'subscriptions\',
        // \'theme-tools\',
        // \'tiled-gallery\',
        // \'vaultpress\',
        // \'verification-tools\',
        // \'videopress\',
        // \'widget-visibility\',
        // \'widgets\',
        // \'wordads\',
        // \'wpgroho.js\',
    );

    return $active;
}

add_filter( \'jetpack_active_modules\', \'wpse248480_jetpack_active_modules\' );

相关推荐