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-contentthư 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.phpjs/monkeyman-rewrite-analyzer.js
versions/3.1/wp-content/plugins/monkeyman-rewrite-analyzernhư một liên kết đến các plugin trên
3.1-multi-dir/wp-content/plugins/monkeyman-rewrite-analyzernhư một liên kết đến các plugin trên
3.1-multi-domain/wp-content/plugins/monkeyman-rewrite-analyzernhư 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.phpkhô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_URLkhô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.