更新を無効にする方法や更新通知を削除する方法については、多くの質問があります。しかし、アップデートを無効にするすべての解決策は、アップデート通知も無効にします。
しかし、私はまだ利用可能なアップデートについて通知されている間にアップデートする可能性を無効にしたいです。
現在私はdefine( 'DISALLOW_FILE_MODS', true );
Codex を使っています
これの問題点は、アップデートプロセスだけでなく通知も無効になることです。
編集:さて、私はうさぎの穴を少し自分で降りました。私は(私が)コアアップデートだけでなく、プラグインやテーマについても話していることも明確にすべきだと思います。
私がそれを正しく理解しているならば、これは /wp-admin/includes/update.php:250 で関数が早く戻るからです。
2つの選択肢があります。
update_plugins
オプションを再追加しましたadmin_init
を複製するwp_plugin_update_rows
に独自のフックを追加します。私はそれを試しましたが、それでもまだまったく同じには見えません。それにはもう少しあるようですが、これを行うための非常にきれいな方法のようにも感じません。編集:あなたがそれに取り組む気がある場合に備えてこの問題をカバーするチケットがあります: https://core.trac.wordpress.org/ticket/25219
次のコードをあなたの子テーマの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;
}
}
これで何か問題が解決するはずです。更新通知をオンにしたまま、Dashboardのサイドバーとツールバーから更新リンクを削除します。
ただし、 update now は各プラグインの下に表示され、ユーザーは更新を実行できます。
これに対する解決策はCSSを介してリンクを隠すことです。その部分をうまく動かすことはできませんでしたが、この質問が非常に古くなっているので、時間を無駄にしたくありませんでした。私はこの質問にそれをいくらか閉鎖する必要があると感じました。