You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何隐藏WordPress已安装插件页面的「启用自动更新」链接

针对特定WordPress插件隐藏「启用自动更新」链接的方法

你当前添加的代码仅能阻止WordPress向官方API检查该插件的更新,但不会隐藏后台插件列表中的「启用自动更新」链接。要彻底移除这个链接,需要结合阻止更新检查和隐藏链接元素两段代码实现:

1. 优化阻止更新检查的代码

原代码中的API地址使用HTTP协议,现在官方已切换为HTTPS,建议修改为以下代码(确保插件不会被纳入更新检查范围):

add_filter( 'http_request_args', 'dm_prevent_update_check', 10, 2 );
function dm_prevent_update_check( $r, $url ) {
    // 匹配HTTPS协议的插件更新检查API
    if ( 0 === strpos( $url, 'https://api.wordpress.org/plugins/update-check/' ) ) {
        $my_plugin = plugin_basename( __FILE__ );
        $plugins = unserialize( $r['body']['plugins'] );
        
        // 从更新检查列表中移除当前插件
        if ( isset( $plugins->plugins[$my_plugin] ) ) {
            unset( $plugins->plugins[$my_plugin] );
        }
        // 从激活插件列表中移除(若当前插件处于激活状态)
        if ( ( $key = array_search( $my_plugin, $plugins->active ) ) !== false ) {
            unset( $plugins->active[$key] );
        }
        
        $r['body']['plugins'] = serialize( $plugins );
    }
    return $r;
}

2. 添加隐藏「启用自动更新」链接的代码

使用WordPress内置的plugin_auto_update_setting_html过滤器,针对特定插件替换自动更新区域的HTML内容:

add_filter( 'plugin_auto_update_setting_html', 'dm_hide_auto_update_link', 10, 3 );
function dm_hide_auto_update_link( $html, $plugin_file, $plugin_data ) {
    // 替换为你的插件主文件路径(例如:example-plugin/example-plugin.php)
    $target_plugin = 'example-plugin/example-plugin.php';
    
    if ( $plugin_file === $target_plugin ) {
        // 直接返回空字符串隐藏链接,也可自定义提示文字
        // return '<span style="color:#666;">该插件已禁用自动更新</span>';
        return '';
    }
    
    return $html;
}

使用说明

  • 将两段代码添加到你的插件主PHP文件(如plugins/example-plugin/example-plugin.php)中,插件启用后即可生效。
  • 确保$target_plugin的值与plugin_basename(__FILE__)返回的路径完全一致,否则无法匹配目标插件。

内容的提问来源于stack exchange,提问作者Teshan N.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 01:31:21