Rumah >Tutorial CMS >WordTekan >Debugging WordPress: 11 petua dan teknik yang kuat
Pertama, mari kita senaraikan jenis kesilapan PHP biasa:
A - NOTIS: Ini adalah mesej ralat paling penting yang akan anda lihat dengan PHP. Ia tidak semestinya bermakna sesuatu yang salah, tetapi terdapat kemungkinan peningkatan yang dicadangkan.
Contoh: Elemen null diserahkan kepada fungsi yang mengharapkan rentetan.
B - Amaran: Ini adalah kesilapan yang lebih teruk, tetapi tidak menyebabkan penamatan skrip.
Contoh: Memberi termasuk () fail yang tidak wujud.
C - Kesalahan maut: Ini adalah penunjuk berbahaya sesuatu yang benar -benar salah, dan skrip ditamatkan.
Contoh: Memanggil fungsi yang tidak sedia ada.
1 - WP_DEBUG
WordPress mempunyai pemalar global untuk menentukan tahap debugging yang diperlukan: WP_DEBUG. Bersama -sama dengan pemalar ini, datang dua yang lain penting: wp_deubg_display, dan wp_debug_log.
Tiga pemalar global boleh ditetapkan kepada benar atau palsu dalam wp-config.php, seperti ini:
2 - is_wp_error ()
Satu lagi alat terbina dalam WordPress untuk penyahpepijatan ialah IS_WP_ERROR ();. Ia adalah kaedah untuk memeriksa sama ada hasil tertentu adalah jenis wp_error. WP_ERROR sebenarnya adalah objek yang dikembalikan yang harus anda terima jika kaedah WordPress gagal.
define("WP_DEBUG", true); define("WP_DEBUG_DISPLAY", true); define("WP_DEBUG_LOG", true);
Kod di atas akan cuba menambah jawatan baru menggunakan WP_INSERT_POST (). Jika kaedah ini gagal, ia akan mengembalikan objek WP_ERROR. Anda kemudian boleh menangkap dan mendapatkan mesej ralat.
3 - Debug Bar
$post = array( 'post_title' => 'Test post', 'post_content' => 'This is my post.', 'post_status' => 'publish', 'post_author' => 1 ); $result = wp_insert_post( $my_post ); if(is_wp_error($result)){ echo $return->get_error_message(); }
Satu lagi alat berguna untuk menyahpepijat kesilapan WordPress ialah bar debug. Ini adalah alat yang sangat berguna untuk mendapatkan maklumat berguna mengenai setiap halaman di laman web anda.
Selepas memasangnya, anda akan menemui butang debug baru. Apabila anda mengklik padanya, analisis pertanyaan, templat, pemasangan PHP, dan banyak maklumat berguna yang lain.
adalah sangat penting untuk memisahkan laman web langsung dari ujian dan pembangunan anda. Saya biasanya mempunyai dua pemasangan WordPress di laman web saya. Ini penting kerana anda tidak mahu skrip anda berakhir apabila anda menghidupkan pelaporan ralat.
Cukup tunjukkan cangkuk adalah plugin yang bagus untuk menunjukkan setiap cangkuk yang berjalan pada mana -mana halaman. Jika anda menghadapi situasi di mana semua idea pelaporan ralat tidak berfungsi, dan anda akan, maka datang masa untuk mengambil setiap cangkuk yang berjalan.
Plugin ini akan memberitahu anda tindakan atau cangkuk penapis yang dijalankan pada mana -mana halaman. Anda kemudian boleh mula menganalisis dan menyahpepijat setiap kod cangkuk. Anda juga boleh melihat kaedah yang dilampirkan untuk setiap cangkuk. Dan juga mengetahui keutamaan masing -masing.
Jika anda menggunakan kelas WPDB untuk berurusan dengan pangkalan data anda, maka anda akan sentiasa memerlukan pelaporan ralat. Sama ada untuk memastikan pertanyaan anda berjalan dengan betul, atau untuk menunjukkan mesej ralat untuk debugging.
Contoh:
define("WP_DEBUG", true); define("WP_DEBUG_DISPLAY", true); define("WP_DEBUG_LOG", true);
Pada beberapa titik, WordPress atau PHP tidak dapat menangkap beberapa kesilapan pengekodan. Sebagai contoh, jika skrip anda melebihi masa larian maksimum yang dibenarkan, anda tidak akan mendapat mesej ralat PHP. Sebaliknya, Apache (atau sistem pemasangan pelayan anda) akan muncul sesuatu seperti 'Ralat Pelayan Dalaman.'
Ini adalah masa apabila anda perlu pergi ke log ralat anda, dan lihat bagaimana jika kod PHP anda, atau bahagian tertentu pemasangan WordPress anda melakukan sesuatu yang salah.
Anda boleh berunding dengan web hosting anda yang disediakan di mana pembalakan disimpan. Biasanya ia adalah sesuatu di bawah folder log.
PHP mempunyai tahap pelaporan kesilapan tersendiri untuk menyimpan isu -isu yang menyelesaikan di luar WordPress. Ini sangat berguna, terutamanya jika sesuatu di luar WordPress berjalan dan menyebabkan beberapa masalah.
Anda boleh memulakan dengan mengkonfigurasi fail php.ini anda untuk menghidupkan pelaporan ralat, dan kemudian memilih tempat menyimpan mesej tersebut.
$post = array( 'post_title' => 'Test post', 'post_content' => 'This is my post.', 'post_status' => 'publish', 'post_author' => 1 ); $result = wp_insert_post( $my_post ); if(is_wp_error($result)){ echo $return->get_error_message(); }
Menetapkan dua baris di atas akan menghidupkan pelaporan ralat, dan menetapkan kesilapan yang akan disimpan di laluan yang ditentukan.
Juga, anda boleh menjalankan phpinfo (); dan periksa pilihan error_log.
Jika penyedia hosting anda mengehadkan akses ke fail php.ini, atau anda tidak boleh mengakses log ralat, perkara boleh menjadi lebih sukar. Tetapi, terdapat banyak alat untuk mengatasi keadaan apabila anda hanya mendapat halaman kosong tanpa mesej ralat. Satu alat cepat ialah Pemeriksa Kod PHP.
PHP Code Checker adalah alat pemeriksaan ralat sintaks. Ia benar-benar berguna jika anda terlepas separuh kolon atau pendakap keriting, dan tidak dapat mencari di mana anda terlepas.
Jika pemeriksa kod PHP tidak menemui ralat sintaks, maka anda memerlukan alat yang lebih berkuasa. IDE yang kuat seperti PHPStorm akan menjadi jawapan untuk debugging yang lebih maju, dan memecahkan kod anda ke bahagian.
Dalam keadaan seperti, apabila anda menyimpan rentetan dalam pembolehubah, dan cuba mencetaknya, tetapi tidak ada yang berlaku. Menggunakan IDE boleh mengetahui bahawa anda melakukan sesuatu yang salah seperti, mengatasi pembolehubah ini kemudian dalam kod anda. Inilah sebabnya sangat disyorkan untuk bergantung kepada IDE yang kuat seperti phpstorm, gerhana, atau mana -mana alat yang anda suka.
Jika anda bekerja di bahagian depan laman web anda, maka anda perlu melumpuhkan cache penyemak imbas. Ini adalah perlu kerana jika anda bekerja pada kod JavaScript anda, dan ia tidak mengemas kini, atau lebih buruk lagi, mengemas kini tetapi tidak menunjukkan kesilapan baru, maka anda perlu melumpuhkan cache.
Melumpuhkan cache bermakna anda meminta penyemak imbas anda berhenti bekerja pada fail yang disimpan lama di laman web anda. Ini termasuk fail CSS dan JavaScript.
Untuk melumpuhkan cache penyemak imbas Google Chrome, buka DevTools dengan mengklik kanan mana-mana elemen web. Kemudian, klik pada tab Rangkaian dalam bar alat. Akhirnya, periksa kotak semak Cache Disable di bahagian atas.
Tips 11 di atas boleh menjadi panduan anda untuk proses debugging. Walaupun debugging boleh membosankan pada banyak masa, tetapi helah di atas dapat menjadikan keseluruhan proses lebih mudah.
Beritahu saya jika anda mempunyai sebarang tip debugging WordPress yang ingin anda kongsi, sila lakukan dalam komen di bawah!
Apakah wp_debug_log dan bagaimana saya menggunakannya? dalam direktori kandungan WP. Untuk menggunakannya, tambahkan garis "Tentukan ('WP_DEBUG_LOG', benar);" ke fail WP-config.php anda. Ini akan membolehkan pembalakan kesilapan, yang kemudiannya boleh anda semak pada kemudahan anda.
Bagaimana saya boleh debug plugin atau tema tertentu? Pemeriksa atau plugin semak tema. Alat ini dapat membantu anda mengenal pasti masalah dengan plugin atau tema anda yang mungkin menyebabkan masalah di laman web anda. Itu membolehkan anda menggunakan versi pembangunan CSS dan fail JavaScript dan bukannya versi terkini yang biasanya digunakan. Untuk menggunakannya, tambahkan garis "Tentukan ('script_debug', benar);" ke fail wp-config.php anda.
Atas ialah kandungan terperinci Debugging WordPress: 11 petua dan teknik yang kuat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!