Habilitar notificación de actualización, deshabilitar actualizaciones

10

Hay muchas preguntas sobre cómo deshabilitar las actualizaciones y / o eliminar las notificaciones de actualizaciones. 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.

Editar: Bueno, yo mismo bajé un poco por la madriguera del conejo. Supongo que también debería aclarar que no (solo) estoy hablando de actualizaciones principales, 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 temprano.

Entonces veo dos opciones:

  • Vuelva a agregar la update_pluginsopción que tipo de derrota el propósito además no estoy seguro de los efectos secundarios
  • agrego mi propio gancho al admin_inittipo de replicación wp_plugin_update_rows. Lo intenté pero todavía no se ve igual. Parece que hay algo más, y tampoco parece una forma muy limpia de hacerlo.

EDITAR: hay un ticket que cubre este problema en caso de que desee trabajar en él: https://core.trac.wordpress.org/ticket/25219

Kraftner
fuente
De Verdad? Lo uso y aún veo la notificación de actualización. Me dice "Por favor notifique al administrador del sitio"
Stephen Harris
Actualicé mi pregunta.
kraftner
1
¿Por qué no usa wpremove o infinitewp como sistema para mantenerse informado de las actualizaciones? Con estos aún puede desactivar las actualizaciones. Lo uso yo mismo.
Robert hue
44
Gracias Robert por la idea, pero esta es solo otra dependencia y tampoco responde pero solo pasa por alto mi problema / pregunta.
kraftner

Respuestas:

1

Agregue el siguiente código en el tema de su hijo functions.phpo empaquételo como un complemento personalizado para habilitar / deshabilitar 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 lo que trabajar. Elimina los enlaces de actualización de la barra lateral y la barra de herramientas en el Tablero mientras deja activadas las notificaciones de actualización.

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

ingrese la descripción de la imagen aquí

Una solución a esto es ocultar el enlace a través de CSS. No pude hacer funcionar esa parte, pero dado que esta pregunta es muy antigua, tampoco quería perder el tiempo. Sentí que esta pregunta necesitaba un cierre.

Ethan Jinks O'Sullivan
fuente
Gracias por echar un vistazo. Pero lo que estás haciendo no es realmente lo que estaba buscando. En primer lugar, ocultar cosas del menú en realidad no lo elimina / desactiva. Si conoce la URL, todavía está allí. La redirección también es frágil. DISALLOW_FILE_MODShace mucho más que solo bloquear actualizaciones. También poner la redirección admin_menues el lugar equivocado. Esto es claramente un error central que debe corregirse allí. Todo lo demás es trucos sucios y frágiles. Gracias por intentarlo de todos modos;)
kraftner
¿Cómo es exactamente la redirección frágil? ¿Qué hace que todo lo demás dirty?
Ethan Jinks O'Sullivan
¿Alguna actualización? Me gustaría saber qué hace que la redirección sea frágil, un ejemplo me ayudará a comprender mejor.
Ethan Jinks O'Sullivan
Perdón por no volver. "sucio" se refiere al hecho de que esto debería arreglarse en el núcleo. Mi redacción trajo demasiada decepción por el hecho de que no lo es, lo siento. "Frágil" se refiere al hecho de que esto asume demasiado como URL de páginas y podría romper con los cambios de WP (por ejemplo, acaban de ocurrir actualizaciones brillantes, no sé si eso podría cambiar algo) Finalmente, mi principal preocupación es que quiero usar DISALLOW_FILE_MODSpara otras razones también, por ejemplo, deshabilitar el Editor. Pero configurarlo truedesencadena este problema. Lo siento, la pregunta no lo dejó claro.
kraftner
Veo. Por lo tanto, esta pregunta no se resolvería según sus requisitos, ya que requeriría ajustar los archivos principales.
Ethan Jinks O'Sullivan