Bagaimana cara menampilkan pesan selama aktivasi plugin

10

Saya mengembangkan plugin, tetapi selama frasa aktivasi saya terus-menerus menghadapi bug. Namun tidak ada cara mudah untuk menampilkan pesan kesalahan, karena hal-hal yang bergema akan menghasilkan kesalahan 'keluaran tidak terpenuhi'. Saya mencoba kait admin_message tetapi tidak berhasil. Bagaimana saya bisa memberi tahu pengguna jika beberapa tahap aktivasi gagal dengan alasan?

lalalala
sumber

Jawaban:

9

Untuk tujuan pengujian Anda dapat menggunakan sistem log (php_error.log):

error_log('Plugin activated', 0);

// Check for DB table existance
if(!$this->hasDBTable()){
    error_log('Database not present', 0);
    if($this->createCELabelsDBTables()){
        error_log('Database was created.', 0);
    } else {
        error_log('Error creating the CE Labels Plugin db tables!', 0);
    }

} else {
    error_log('Database OK', 0);
}

Untuk menampilkan kesalahan kepada pengguna tanpa kesalahan "Header sudah terkirim", Anda dapat menggunakan fungsi php trigger_error:

trigger_error('PLUGIN OK',E_USER_ERROR);

Dengan Wordpress harus selalu berupa E_USER_ERROR atau tidak akan menampilkan pesan.

Saya tahu error_log berfungsi dengan baik sejak saya menggunakannya, tetapi trigger_error ditampilkan untuk informasi yang harus. Cobalah dan lihat sendiri :)

Domingos Freitas
sumber
Apakah Anda tahu di mana saya dapat menemukan dokumentasi lebih lanjut tentang fungsi error_log? Saya mengalami kesulitan mencari tahu cara membuatnya bekerja.
Nathan Arthur
Bagi mereka yang mungkin datang setelah: php.net/manual/en/function.error-log.php
Nathan Arthur
4

LARUTAN:

register_activation_hook( __FILE__, 'my_activation_func' ); function my_activation_func() {
    file_put_contents(__DIR__.'/my_loggg.txt', ob_get_contents());
}

masukkan kode ini di plugin, dan setelah kesalahan, lihat "my_loggg.txt" di dalam folder plugin Anda.

T.Todua
sumber
Ini bekerja untuk saya, tetapi saya harus meletakkannya di bagian bawah file! Kalau tidak, itu tidak menangkap output.
Ben Ogorek
0

1) Silakan hapus spasi tambahan di halaman dalam atau halaman plugin.

2) menghapus gaya inline di halaman atau halaman plugin.

ini bekerja untuk saya setiap saat. Saya telah menggunakan metode yang sama berkali-kali. ketika masalah kesalahan di halaman plugin atau halaman Wordpress.

Salam,

Hitesh Nagpal

hitesh nagpal
sumber