คำถามติดแท็ก debug

เทคนิคพื้นฐานในการดีบัก WordPress ที่สามารถช่วยเหลือคุณได้

16
คุณจะดีบักปลั๊กอินได้อย่างไร?
ฉันค่อนข้างใหม่ในการเขียนโปรแกรมเสริมและกำลังประสบปัญหาในการดีบัก ฉันใช้เสียงสะท้อนมากและเลอะเทอะและน่าเกลียด ฉันแน่ใจว่ามีวิธีที่ดีกว่าในการทำเช่นนี้บางที IDE กับดีบักเกอร์ที่ฉันสามารถเรียกใช้ทั้งไซต์รวมถึงปลั๊กอินได้

1
จะทำการทดสอบหน่วยบนแพทช์ที่เสนอใน Trac ได้อย่างไร?
ฉันกำลังมองหาข้อมูลเชิงลึกและแหล่งข้อมูลที่ดีเกี่ยวกับวิธีการทดสอบหน่วยในแพทช์ WordPress ที่เสนอใน Trac อย่างถูกต้องและวิธีรายงานผลลัพธ์จากการทดสอบอย่างถูกต้อง ฉันยังใหม่กับสิ่งนี้และได้อ่านทรัพยากรที่อยู่ในคำถาม WPSEนี้ ตัวผมเองอยากจะเรียนรู้วิธีการทำเช่นนี้และทำได้ด้วยข้อผิดพลาดที่โลกแห่งความจริงเช่นนี้ตั๋ว Trac # 5809 ฉันเดาว่าหลังจากอ่านทรัพยากรในคำถาม WPSE ที่กล่าวถึงก่อนหน้าการมาสั้น ๆ ของฉันคือฉันไม่เข้าใจว่าฉันจะติดตั้งการทดสอบที่เสนอสำหรับแพทช์ที่นำเสนอได้อย่างไร ปรับปรุง:ฉันยังคงค้นหาทรัพยากรและกำลังดูวิดีโอนี้ในWordPress หน่วยทดสอบ

2
ไฟล์ functions.php เคยถูกเรียกระหว่างการโทร AJAX หรือไม่? แก้ไขข้อผิดพลาด AJAX
พยายามคิดให้ออกว่าโปรแกรมเมอร์คนอื่นกำลังทำอะไรอยู่ ฉันสงสัยว่าfunctions.phpไฟล์จะถูกเรียกใช้เมื่อคุณจัดการด้าน AJAX หรือไม่? ฉันรู้ว่าเมื่อคุณทำการโทร AJAX ส่วนหนึ่งของ WP จะถูกโหลดขึ้นเพื่อประมวลผลการโทรและส่งการตอบกลับ มีfunctions.phpไฟล์อยู่ในนั้นหรือไม่? เหตุผลที่ฉันถามคือเพราะเขาใช้คลาสจากปลั๊กอิน Meta-Box และโหลดเป็นส่วนหนึ่งของธีมแทน มี AJAX บางตัวในคลาสนั้นที่ส่งคืนการตอบกลับที่ว่างเปล่าเท่านั้นและฉันคิดว่าเป็นเพราะโค้ดที่จัดการการตอบกลับไม่ได้รับการโหลด มีเอกสารอะไรที่จะโหลดเมื่อ WP จัดการ AJAX หรือไม่

5
กำหนด WP_DEBUG ตามเงื่อนไข / สำหรับผู้ดูแลระบบเท่านั้น / ข้อผิดพลาดบันทึก (ต่อท้ายแบบสอบถามหาเรื่องสำหรับลิงก์ทั้งหมด?)
ฉันกำลังพัฒนาเว็บไซต์บนเซิร์ฟเวอร์ที่ลูกค้าสามารถเข้าถึงได้เช่นกันและสิ่งที่ฉันต้องการจะทำคือแสดงWP_DEBUGให้ผู้ดูแลระบบเท่านั้น การอ้างอิงบทความของ Yoastเกี่ยวกับเรื่องนี้: if ( isset($_GET['debug']) && $_GET['debug'] == 'true') define('WP_DEBUG', true); จะแสดงWP_DEBUGเฉพาะ URL ที่?debug=trueแนบมาเท่านั้นhttp://domain.com/?debug=true ฉันคิดว่าDebug Barอาจเก็บข้อมูลนี้ไว้เป็นค่าเริ่มต้น (ไม่ว่าWP_DEBUGจะเปิดหรือไม่ก็ตาม) แต่ฉันคิดว่าบ้าคลั่งเพราะฉันไม่เชื่อว่าเป็นเช่นนั้น ดังนั้นสิ่งที่ฉันคิดว่าจะมีประโยชน์จะเป็นการตรวจสอบผู้ใช้ปัจจุบัน (มีmanage_optionsความสามารถแล้วเรียกใช้ลิงก์ผ่านadd_query_arg(): function zs_admin_debug() { if (!current_user_can('manage_options')) { add_query_arg('debug','true'); } } แต่สิ่งที่ฉันไม่แน่ใจเกี่ยวกับคือ - มีเบ็ดฉันสามารถใช้เพื่อผลลิงค์ทั้งหมดในเว็บไซต์ด้วยนี้ ด้วยวิธีนี้ผู้ดูแลระบบจะเห็นการดีบักซึ่งฉันคิดว่าจะมีประโยชน์อย่างยิ่ง ขอบคุณสำหรับความช่วยเหลือใด ๆ เช่นเคย!

6
เป็นไปได้ไหมที่จะเปลี่ยนตำแหน่งไฟล์บันทึกสำหรับ WP_DEBUG_LOG?
ฉันใช้ WP_DEBUG_LOG ในสภาพแวดล้อมการพัฒนาของฉันและไม่มีปัญหากับ debug.log ที่อยู่ในไดเรกทอรี wp-content บางครั้งฉันเปิด WP_DEBUG ในการผลิตเมื่อฉันต้องการแก้ไขข้อบกพร่องบางอย่างและฉันยังต้องการใช้บันทึก แต่ต้องการเปลี่ยนเส้นทางไปยังสิ่งที่อยู่นอกรูทเว็บของฉัน เป็นไปได้นี้โดยใช้ WP_DEBUG_LOG?
18 debug  wp-config 

1
ฉันจะดูการกระทำทั้งหมดที่แนบกับเบ็ด“ add_action” ได้อย่างไร
ฉันทำงานกับแถบผู้ดูแลระบบและพยายามแก้ไขข้อบกพร่องของเมนูและลำดับความสำคัญของเมนู ฉันรู้ว่าการเรียกกลับหลายครั้งถูกผูกไว้กับการกระทำเช่นนี้: add_action( 'admin_bar_menu', 'wp_admin_bar_wp_menu', 10 ); ฉันจะดูได้อย่างไรว่ามีสายใดบ้างที่จะเรียกใช้เมื่อมีการเรียกขอคล้ายเบ็ดadmin_bar_menu?
16 plugins  php  hooks  actions  debug 


17
ไม่สามารถเข้าสู่เว็บไซต์ wordpress ของฉัน reauth = 1 การเปลี่ยนเส้นทางวน ความคิดเห็นเกี่ยวกับวิธีการแก้ไขปัญหานี้?
ฉันมีปัญหาในการเข้าสู่เว็บไซต์ WordPress ของฉัน เมื่อฉันพยายามเยี่ยมชม example.com/wp-admin ฉันเห็นหน้าว่างและแถบ URL เปลี่ยนเป็น: http://example.com/wp-login.php?redirect_to=http%3A%2F%2Fmysite.com%2Fwp-admin%2F&reauth=1 หากฉันไปที่ example.com/wp-login.php ฉันจะเห็นหน้าขาวที่ไม่มีการเปลี่ยนแปลง URL ฉันยืนยันว่าไม่ได้มีปัญหาอะไรในเครื่องท้องถิ่นของฉันเนื่องจากพฤติกรรมยังคงมีอยู่ในเบราว์เซอร์และอุปกรณ์หลายตัว ฉันพบโพสต์ฟอรัมจำนวนมากเกี่ยวกับปัญหา แต่ไม่มีข้อเสนอที่น่าพอใจ โปรดช่วยฉันด้วยเร่งด่วนเพื่อปรับปรุงเนื้อหาในเว็บไซต์ อัปเดต:ฉันเปิดการดีบัก WordPress และดูข้อผิดพลาดต่อไปนี้ Fatal error: Cannot redeclare check_password_reset_key() (previously declared in /home/wordpress/public_html/wp-login.php:281) in /home/wordpress/public_html/wp-includes/user.php on line 1637 เคล็ดลับใด ๆ เกี่ยวกับวิธีการแก้ไขปัญหานี้จะได้รับการชื่นชมอย่างมาก

5
วิธีการดีบั๊กปลั๊กอินด้วย Xdebug
ฉันสามารถติดตั้งและตั้งค่าได้อย่างง่ายดาย NetBeans 6.9.1 และ Xdebug ในสภาพแวดล้อมท้องถิ่นของฉันอิงตาม PHP 5.3.0 (XAMPP) ปัญหาของฉันในตอนนี้คือต่อไปนี้: ถ้าฉันใส่เบรกพอยต์บน index.php ของ Wordpress หรือไฟล์อื่น ๆ ของคอร์เซ็ต PHP หลัก NetBeans หยุดอย่างถูกต้องในตำแหน่งที่ต้องการ ถ้าฉันใส่เบรกพอยต์ในไฟล์ปลั๊กอินทริกเกอร์การเรียกใช้โค้ด NetBeans จะไม่หยุดแค่นั้น คุณรู้จักวิธีแก้ไขหรือไม่? อัปเดต:ข้อมูลเพิ่มเติมเกี่ยวกับสิ่งที่ฉันกำลังพยายามแก้ไขปัญหา ปลั๊กอินเรียกว่าVanilla Forumsและมีโครงสร้างไฟล์ต่อไปนี้: - plugins - vanilla-forums + assets + nbproject + templates admin.php embed.php functions.php hooks.php plugin.php sso.php widgets.php ผมตั้งจุดพักภายในฟังก์ชั่นที่มีชื่อที่กำหนดไว้ในvf_validate_options functions.phpฉันแน่ใจว่ามีการใช้งานฟังก์ชันนี้ แต่ NetBeans ไม่ได้หยุดอยู่แค่นั้น

2
นับ & แสดงแบบสอบถามฐานข้อมูล
ฉันกำลังมองหาวิธีการที่ฉันสามารถนับและแสดงข้อความค้นหาทั้งหมดในเว็บไซต์ WordPress ไม่มีใครรู้ว่าถ้ามีปลั๊กอินที่ดี? มิฉะนั้นมันจะเป็นวิธีการตรวจสอบแบบสอบถามบนคอนโซลเพราะฉันทำงานกับคอนโซลมาก
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.