เมื่อฉันพัฒนาปลั๊กอินฉันจะทดสอบพวกเขาใน WordPress หลายเวอร์ชันโดยเชื่อมโยงไดเรกทอรีปลั๊กอินของฉันในwp-content
ไดเรกทอรีต่างๆ นี้เป็นที่ดีตั้งแต่ฉันมีเพียงเพื่อแก้ไขไฟล์ครั้งเดียว แต่จะแบ่งสร้างสิ่งสำคัญที่จะสร้างการอ้างอิงไปยังแหล่งข้อมูลในปลั๊กอินของฉัน: หมายถึงสถานที่ตั้งปลั๊กอินทางกายภาพไม่ได้เป็นคนใน__FILE__
wp-content
ฉันจะแก้ปัญหานี้อย่างไร
โครงสร้างไดเรกทอรีของฉันมีลักษณะเช่นนี้:
/path/to/wordpress/development/dir/
plugin-development/
monkeyman-rewrite-analyzer/
monkeyman-rewrite-analyzer.php
js/
monkeyman-rewrite-analyzer.js
versions/
3.1/
wp-content/
plugins/
monkeyman-rewrite-analyzer
เป็น symlink ไปยังปลั๊กอินด้านบน
3.1-multi-dir/
wp-content/
plugins/
monkeyman-rewrite-analyzer
เป็น symlink ไปยังปลั๊กอินด้านบน
3.1-multi-domain/
wp-content/
plugins/
monkeyman-rewrite-analyzer
เป็น symlink ไปยังปลั๊กอินด้านบน
ถ้าฉันต้องการจัดคิวไฟล์ Javascript ฉันควรใช้plugins_url( 'monkeyman-rewrite-analyzer.js', [base file] )
แต่การใช้__FILE__
ที่นี่จะไม่ทำงานเพราะเส้นทางของไฟล์ที่แท้จริงจะเป็น/path/to/wordpress/development/dir/plugin-development/monkeyman-rewrite-analyzer/monkeyman-rewrite-analyzer.php
เช่นนั้นไม่ใช่/path/to/wordpress/development/dir/versions/*/wp-content/plugins/monkeyman-rewrite-analyzer/monkeyman-rewrite-analyzer.php
ดังนั้น WordPress จึงไม่สามารถตัดส่วนแรกออกและสร้าง URL ที่เกี่ยวข้องกับการติดตั้ง WordPress
WP_PLUGIN_URL
ไม่แนะนำให้ใช้เพราะผู้ดูแลระบบควรได้รับอนุญาตให้เปลี่ยนชื่อไดเรกทอรีของปลั๊กอินนี้โดยเฉพาะ แต่มีเหตุผลอื่นที่ควรหลีกเลี่ยงหรือไม่ และแน่นอนตั๋วของคุณจะเป็นทางออกที่ง่าย