Ativar notificação de atualização, desativar atualizações

10

Há muitas perguntas sobre como desativar as atualizações e / ou remover as notificações de atualização. Mas todas as soluções que desabilitam a atualização também desabilitam as notificações de atualização.

Mas quero desativar a possibilidade de atualizar enquanto ainda estou sendo notificado sobre as atualizações disponíveis.

Atualmente eu uso o define( 'DISALLOW_FILE_MODS', true ); Codex

O problema disso é que ele não apenas desabilita o processo de atualização, mas também as notificações.

Edit: Ok, eu fui pela toca do coelho um pouco. Acho que também devo esclarecer que não estou falando apenas sobre atualizações principais, mas também sobre plugins e temas.

Se eu entendi direito, é porque em /wp-admin/includes/update.php:250 a função retorna mais cedo.

Então, eu vejo duas opções:

  • adicione novamente a update_pluginsopção que meio que anula o objetivo, mais não tenho certeza dos efeitos colaterais
  • adicione meu próprio gancho ao admin_inittipo de replicação wp_plugin_update_rows. Eu tentei isso, mas ainda não parece tudo a mesma coisa. Parece haver um pouco mais, também não parece uma maneira muito limpa de fazer isso.

EDIT: Existe um ticket cobrindo esse problema, caso você queira trabalhar com ele: https://core.trac.wordpress.org/ticket/25219

kraftner
fonte
Realmente? Eu uso isso e ainda vejo a notificação de atualização. Diz-me "Notifique o administrador do site"
Stephen Harris
Eu atualizei minha pergunta.
Kraftner
11
Por que você não usa o wpremove ou o infinitewp like system para ser notificado sobre atualizações. Com eles, você ainda pode desativar as atualizações. Eu mesmo uso isso.
Robert hue
4
Obrigado Robert pela idéia, mas essa é apenas outra dependência e também não responde, mas apenas ignora meu problema / pergunta.
Kraftner 17/09/14

Respostas:

1

Adicione o seguinte código nos temas do seu filho functions.phpou empacotá-lo como um plug-in personalizado para ativar / desativar facilmente:

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;
    }
}

Isso deve lhe dar algo para trabalhar. Ele remove os links de atualização da barra lateral e da barra de ferramentas no Painel , deixando as notificações de atualização ativadas.

No entanto, a atualização agora ainda será exibida em cada plug-in, o que permitiria ao usuário executar atualizações:

insira a descrição da imagem aqui

Uma solução para isso é ocultar o link via CSS. Não consegui fazer essa parte funcionar, mas, como essa pergunta é muito antiga, também não queria perder tempo. Eu senti que essa pergunta precisava de algum encerramento para ela.

Ethan Jinks O'Sullivan
fonte
Obrigado por dar uma olhada. Mas o que você está fazendo não é exatamente o que eu estava procurando. Antes de tudo, ocultar as coisas do menu não as remove / desativa. Se você souber o URL, ele ainda está lá. O redirecionamento também é frágil. DISALLOW_FILE_MODSfaz muito mais do que apenas bloquear atualizações. Também colocar o redirecionamento admin_menué o lugar errado. Este é claramente um bug básico que precisa ser corrigido lá. Todo o resto é hacks sujos e frágeis. Obrigado por tentar de qualquer maneira;)
kraftner
Como o redirecionamento é frágil exatamente? O que faz todo o resto dirty?
Ethan Jinks O'Sullivan
Alguma atualização? Gostaria de saber o que torna o redirecionamento frágil. Um exemplo me ajudará a entender melhor.
Ethan Jinks O'Sullivan
Desculpe por não voltar. "sujo" refere-se ao fato de que isso deve ser corrigido no núcleo. Minha redação carregava muita decepção pelo fato de não ser, desculpe por isso. "Frágil" refere-se ao fato de que isso assume muitos URLs da página e pode romper com as alterações do WP (por exemplo, atualizações brilhantes acabaram de acontecer, não sei se isso pode mudar alguma coisa). Finalmente, minha principal preocupação é que quero usar DISALLOW_FILE_MODSpara outros motivos também, por exemplo, desativar o Editor. Mas defini-lo truedesencadeia esse problema. Desculpe, a pergunta não deixou isso claro.
Kraftner 22/08
Eu vejo. Portanto, essa pergunta não seria resolvida de acordo com seus requisitos, pois seria necessário ajustar os arquivos principais.
Ethan Jinks O'Sullivan