启用更新通知,禁用更新

时间:2014-09-17 作者:kraftner

关于如何禁用更新和/或删除更新通知,有很多问题。但所有禁用更新的解决方案也会禁用更新通知。

但我想禁用更新的可能性,同时仍会收到可用更新的通知。

当前我使用define( \'DISALLOW_FILE_MODS\', true ); Codex

问题是,它不仅禁用了更新过程,而且还禁用了通知。

编辑:好吧,我自己也进了一点兔子洞。我想我还应该澄清一下,我(不仅)在谈论核心更新,还谈论插件和主题。

如果我理解正确,这是因为/wp-admin/includes/update.php:250 函数提前返回。

因此,我看到了两种选择:

重新添加update_plugins选择哪种方式会破坏目的,另外我不确定副作用admin_init 有点像复制wp_plugin_update_rows. 我试过了,但看起来还是不一样。似乎还有更多的东西,而且感觉这不是一种非常干净的方式编辑:如果您想处理此问题,有一张涉及此问题的通知单:https://core.trac.wordpress.org/ticket/25219

1 个回复
SO网友:Ethan O\'Sullivan

在子主题中添加以下代码functions.php 或者将其打包为自定义插件,以便轻松启用/禁用:

add_action( \'wp_before_admin_bar_render\', \'wpse161696_toolbar_menu\' );
add_action( \'admin_menu\', \'wpse161696_updates\' );

function wpse161696_toolbar_menu() { // Remove update menu item from the toolbar
    global $wp_admin_bar;
    $wp_admin_bar -> remove_menu( \'updates\' );
}

function wpse161696_updates() { // Remove all updating related functions
    remove_submenu_page( \'index.php\', \'update-core.php\' ); // Remove Update submenu
    // Redirect to Dashboard if update page is accessed
    global $pagenow;
    $page = array(
        \'update-core.php\',
        \'update.php\',
        \'update.php?action=upgrade-plugin\'
        );
    if ( in_array( $pagenow, $page, true ) ) {
        wp_redirect( admin_url( \'index.php\' ), 301 );
        // wp_die( \'Updates are disabled.\' ); // An error message can be displayed instead
        exit;
    }
}
这应该会给你一些可以合作的东西。它会从仪表板的侧栏和工具栏中删除更新链接,同时打开更新通知。

然而update now 仍将显示在允许用户执行更新的每个插件下:

enter image description here

解决方法是通过CSS隐藏链接。我不能让那个部分很好地工作,但考虑到这个问题已经很老了,我也不想在上面浪费时间。我觉得这个问题需要解决一下。

结束

相关推荐

Updates for a private plugin?

如果我写一个私有插件,有没有办法使用WordPress自动更新机制来更新它 我想封装这个功能,但它是我自己的5个博客特有的,所以它不是公共插件资源的好候选。但我喜欢这种简单的更新机制 有没有办法做到这一点