Di wp-admin/includes/update-core.php
kami menemukan baris berikut:
add_action( '_core_updated_successfully', '_redirect_to_about_wordpress' );
Saya ingin menghapus tindakan ini, jadi saya membuat plugin mu dengan konten berikut:
<?php # -*- coding: utf-8 -*-
add_action( '_core_updated_successfully', 't5_no_redirect_after_update', 0 );
function t5_no_redirect_after_update()
{
remove_action( '_core_updated_successfully', '_redirect_to_about_wordpress' );
}
Itu tidak ... tidak ada. Saya masih diarahkan. Diuji dengan instalasi satu situs dan multi situs.
Saya kira saya kehilangan sesuatu yang jelas, seperti biasa. :)
Bagaimana cara melakukannya dengan lebih baik?
Memperbarui
Berdasarkan jawaban Brady, saya membuat versi yang sangat minim:
<?php # -*- coding: utf-8 -*-
/* Plugin Name: T5 No redirect after core upgrade. */
add_action( '_core_updated_successfully', 't5_no_redirect_after_update', 0 );
function t5_no_redirect_after_update()
{
show_message( __('WordPress updated successfully') );
// Include admin-footer.php and exit
include(ABSPATH . 'wp-admin/admin-footer.php');
exit;
}
Sekarang kita melihat pesan sukses dan tidak ada tindakan lain yang dipanggil. Anda dapat mengunduh plugin di GitHub . Gunakan sebagai plugin biasa atau sebagai plugin MU.
redirect
upgrade
mu-plugins
fuxia
sumber
sumber
_core_updated_successfully
disebutkan oleh @Brady tampaknya hilang dari 3,8. * (> 3,7 ??). Adakah ide pengganti?/wp-admin/includes/update-core.php
di sana: di akhir file.Jawaban:
Jangan hapus tindakan tetapi tambahkan sendiri sebelum itu. Jika Anda menghapus tindakan, Anda tidak akan pernah mendapatkan pesan yang mengatakan itu berhasil ditingkatkan. Di sini Anda dapat memberikan info sendiri tentang apa yang harus dilakukan selanjutnya.
Saya tahu dalam obrolan Anda menunjukkan bahwa Anda mengalami kesulitan menghapus tindakan, jadi saya mulai mencari solusi yang tidak menghapus tindakan tetapi menambahkan satu sebelum itu.
Kode di atas adalah salinan dari fungsi inti yang disambungkan
_core_updated_successfully
tetapi menghapus redirect dan beberapa pesan.Seperti yang Anda lihat ada
exit();
di akhir fungsi jadi jika Anda mengaitkan fungsi ini sebelum yang lain maka pintu keluar harus menghentikan kait lebih lanjut dari penembakan.sumber