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?

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 :)


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.


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

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.