Habilitar notificación de actualización, deshabilitar actualizaciones

10

Hay muchas preguntas sobre cómo deshabilitar las actualizaciones y / o eliminar las notificaciones de actualización. Pero todas las soluciones que deshabilitan la actualización también deshabilitan las notificaciones de actualización.

Pero quiero deshabilitar la posibilidad de actualizar sin dejar de recibir notificaciones sobre las actualizaciones disponibles.

Actualmente, uso define( 'DISALLOW_FILE_MODS', true ); Codex

El problema con esto es que no solo deshabilita el proceso de actualización sino también las notificaciones.

Edit: Bueno, yo también bajé un poco el agujero del conejo. Supongo que también debo aclarar que no (solo) estoy hablando de actualizaciones básicas, sino también de complementos y temas.

Si lo entiendo correctamente, esto se debe a que en /wp-admin/includes/update.php:250 la función regresa antes.

Veo dos opciones:

  • vuelva a agregar la opción update_plugins , que tipo de derrota al propósito y no estoy seguro de los efectos secundarios
  • agregar mi propio gancho a admin_init tipo de replicación wp_plugin_update_rows . Intenté eso, pero todavía no se ve igual. Parece que hay algo más en esto, además, no parece una forma muy limpia de hacer esto.

EDITAR: Hay un ticket que cubre este problema en caso de que tenga ganas de trabajar en él: enlace

    
pregunta kraftner 17.09.2014 - 13:21

1 respuesta

1

Agregue el siguiente código en functions.php del tema de su hijo o envuélvalo como un complemento personalizado para habilitarlo / deshabilitarlo fácilmente:

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

Esto debería darte algo con qué trabajar. Elimina los enlaces de actualización de la barra lateral y la barra de herramientas en el Panel de control mientras deja activadas las notificaciones de actualización.

Sin embargo, la actualización ahora se mostrará debajo de cada complemento, lo que permitirá al usuario realizar actualizaciones:

Una solución para esto es ocultar el enlace a través de CSS. No podía hacer que esa parte funcionara, pero dado que esta pregunta es muy antigua, tampoco quería perder el tiempo. Sentí que esta pregunta necesitaba ser cerrada.

    
respondido por el Ethan Jinks O'Sullivan 11.08.2016 - 17:58

Lea otras preguntas en las etiquetas