Activer la notification de mise à jour, désactiver les mises à jour

10

Il y a beaucoup de questions sur la façon de désactiver les mises à jour et / ou de supprimer les notifications de mise à jour. Mais toutes les solutions qui désactivent la mise à jour désactivent également les notifications de mise à jour.

Mais je souhaite désactiver la possibilité de mise à jour tout en étant averti des mises à jour disponibles.

J'utilise actuellement define( 'DISALLOW_FILE_MODS', true ); Codex

.

Le problème, c’est qu’il désactive non seulement le processus de mise à jour, mais également les notifications.

Edit: D'accord, je suis moi-même descendu dans le terrier du lapin. Je suppose que je devrais également préciser que je ne parle pas (uniquement) des mises à jour principales, mais également des plugins et des thèmes.

Si je comprends bien, c'est parce que, à l'adresse /wp-admin/includes/update.php:250 la fonction est renvoyée plus tôt.

Je vois donc deux options:

  • rajoutez l’option update_plugins qui annule le but recherché et je ne suis pas sûr des effets secondaires
  • ajoutez mon propre crochet à admin_init le type de réplication de wp_plugin_update_rows . J'ai essayé ça, mais ça n'a toujours pas l'air pareil. Il semble y avoir quelque chose de plus, cela ne semble pas non plus être une façon très propre de faire cela.

EDIT: Un ticket couvre ce problème au cas où vous souhaiteriez y travailler: enlace

    
posée kraftner 17.09.2014 - 13:21

1 réponse

1

Ajoutez le code suivant dans le functions.php de votre thème enfant ou composez-le en tant que plug-in personnalisé pour l'activer / le désactiver facilement:

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

Cela devrait vous donner quelque chose avec lequel travailler. Il supprime les liens de mise à jour de la barre latérale et de la barre d’outils du Tableau de bord tout en laissant les notifications de mise à jour activées.

Toutefois, la mise à jour maintenant sera toujours affichée sous chaque plug-in, ce qui permettrait à l'utilisateur d'effectuer des mises à jour:

Une solution à ce problème consiste à masquer le lien via CSS. Je ne pouvais pas tout à fait que cette partie fonctionne, mais étant donné que cette question est très ancienne, je ne voulais pas perdre de temps non plus. J'ai senti que cette question méritait d'être résolue.

    
réponse donnée Ethan Jinks O'Sullivan 11.08.2016 - 17:58

Lire d'autres questions sur les étiquettes