Khi tôi phát triển các plugin, tôi đã kiểm tra chúng trên nhiều phiên bản WordPress bằng cách liên kết thư mục plugin của tôi trong các wp-content
thư mục khác nhau . Điều này thật tuyệt vì tôi chỉ phải chỉnh sửa các tệp một lần, nhưng nó phá vỡ một cấu trúc quan trọng để tạo tham chiếu đến các tài nguyên trong plugin của tôi: __FILE__
đề cập đến vị trí plugin vật lý, không phải là vị trí trong plugin wp-content
. Làm thế nào tôi nên giải quyết điều này?
Cấu trúc thư mục của tôi trông như thế này:
/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
như một liên kết đến các plugin trên
3.1-multi-dir/
wp-content/
plugins/
monkeyman-rewrite-analyzer
như một liên kết đến các plugin trên
3.1-multi-domain/
wp-content/
plugins/
monkeyman-rewrite-analyzer
như một liên kết đến các plugin trên
Nếu tôi muốn xử lý tệp Javascript, tôi nên sử dụng plugins_url( 'monkeyman-rewrite-analyzer.js', [base file] )
, nhưng sử dụng __FILE__
ở đây sẽ không hoạt động, vì đường dẫn tệp thực tế sẽ /path/to/wordpress/development/dir/plugin-development/monkeyman-rewrite-analyzer/monkeyman-rewrite-analyzer.php
không /path/to/wordpress/development/dir/versions/*/wp-content/plugins/monkeyman-rewrite-analyzer/monkeyman-rewrite-analyzer.php
, vì vậy WordPress không thể loại bỏ phần đầu tiên và tạo URL liên quan đến cài đặt WordPress.
WP_PLUGIN_URL
không được khuyến khích vì quản trị viên nên được phép thay đổi tên của thư mục plugin cụ thể này, nhưng cũng có một lý do khác để tránh nó? Và thực sự, vé của bạn sẽ là một giải pháp đơn giản.