阻止插件更新

时间:2018-05-25 作者:eComEvo

我对插件进行了一些自定义修改。当我们接到通知,WP中有此插件的正式升级时,开发人员需要手动进行升级,因为更改的文件必须与新版本集成。

我们不希望工作人员在进行一系列升级时意外单击此插件上的升级按钮。

但是,我们仍然希望看到升级通知,以便开发人员可以安排更新。因此,将标题中的版本号增加到某个非常高的值并不是一个解决方案,因为它会阻止这种可见性。

我怎样才能阻止WP升级并且插件仍然有效?

4 个回复
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成

首先修改现有插件是一个非常糟糕的主意。

但如果您真的必须这样做,那么您可以使用此代码隐藏更新链接(这一条适用于Yoast SEO):

function remove_update_notification_link($value) {
    if ( array_key_exists(\'wordpress-seo/wp-seo.php\', $value->response) ) {
        $value->response[ \'wordpress-seo/wp-seo.php\' ]->package = \'\';
    }
    return $value;
}
add_filter(\'site_transient_update_plugins\', \'remove_update_notification_link\');
将显示通知,但不会显示更新链接,而是显示信息:“此插件无法自动更新。”

如果将此代码正确放入插件中,则可以使用更自动的方式:

function remove_update_notification_link($value) {
    if ( array_key_exists(plugin_basename(__FILE__), $value->response) ) {
        $value->response[ plugin_basename(__FILE__) ]->package = \'\';
    }

    return $value;
} 
add_filter(\'site_transient_update_plugins\', \'remove_update_notification_link\');

SO网友:Core972

在文件中functions.php 在活动主题中添加以下行

function filter_plugin_updates( $value ) {
    unset( $value->response[\'path_to_plugin/plugin_name.php\'] ); // one plugin by line
}

add_filter( \'site_transient_update_plugins\', \'filter_plugin_updates\' );
这将完全隐藏更新要求。您必须通过注释代码来检查是否有可用的更新

SO网友:Andrea Somovigo

@Core92的答案是正确的,只是在启用/禁用其他插件时会发出警告,所以更好:

function filter_plugin_updates( $value ) {
    $toAvoid=\'path_to_plugin/plugin_name.php\';
    if( isset( $value->response[$toAvoid]) )
        unset( $value->response[$toAvoid] );
    return $value;
}
add_filter( \'site_transient_update_plugins\', \'filter_plugin_updates\' );

SO网友:Ray Gulick

有一个插件允许您选择不希望接收更新通知的插件:

阻止插件更新https://wordpress.org/plugins/block-specific-plugin-updates/

它已经有一段时间没有更新了,但我可以告诉你,它与当前版本的WP(4.9.6)配合得很好

结束

相关推荐

Wordpress Auto Updates

我需要在我的Wordpress上进行自动更新,这样我就可以跟踪抄本了here. 我需要的是从4.2.2到4.2.3和4.3等所有更新。。我的服务器上不需要FTP凭据。我的问题是我的WP没有更新。我做错什么了吗?我的Wordpress多久检查一次更新?这是我的wp-config.php, 我刚刚补充说define(\'WP_AUTO_UPDATE_CORE\', true); 到原始文件。define(\'DB_NAME\', \'xXyYzZtT\'); define(\'DB_USER\', \