Tài liệu WordPress để Xác định Plugin và Nội dung thư mục nói rằng:
WordPress sử dụng các hằng số sau khi xác định đường dẫn đến thư mục nội dung và plugin. Chúng không nên được sử dụng trực tiếp bởi các plugin hoặc chủ đề , nhưng được liệt kê ở đây để hoàn thiện.
Nó đi vào danh sách WP_CONTENT_DIR
và WP_PLUGIN_DIR
trong số các hằng số mà các nhà phát triển chủ đề và plugin không nên sử dụng, có lẽ vì điều này:
WordPress cho phép người dùng đặt thư mục wp-content của họ ở bất cứ đâu họ muốn, vì vậy bạn không bao giờ cho rằng các plugin sẽ ở trong wp-content / plugin, hoặc các video tải lên sẽ ở wp-content / tải lên, hoặc các chủ đề sẽ ở trong wp- nội dung / chủ đề.
Mark Jaquith cũng bình luận ở đây rằng những hằng số đó không nên được sử dụng:
Không sử dụng WP_PLUGIN_URL hoặc WP_PLUGIN_DIR - các plugin có thể không có trong thư mục plugin.
Vì vậy, cách được chấp nhận để tham chiếu đường dẫn đầy đủ đến các thư mục bổ trợ, nội dung wp và chủ đề mà không sử dụng các hằng số này là gì?
Ví dụ đơn giản, để xuất đường dẫn đầy đủ của tất cả các plugin đã cài đặt, tôi có thể làm điều này:
<?php
$plugins = get_plugins();
foreach ($plugins as $file => $details) {
echo WP_PLUGIN_DIR . '/' . $file . '<br>';
}
Mà tạo ra một danh sách như vậy:
/var/www/wp-content/plugins/akismet/akismet.php
/var/www/wp-content/plugins/debug-bar/debug-bar.php
/var/www/wp-content/plugins/hello.php
(Tôi có thể muốn làm điều này nếu tôi đang viết một plugin để cho phép người dùng lưu trữ có chọn lọc các plugin như một phần của bản sao lưu trang web chẳng hạn.)
Nếu sử dụng WP_PLUGIN_DIR
là sai, đề xuất thay thế là gì? Không có tương đương wp_upload_dir()
với các plugin, chủ đề và thư mục nội dung wp mà tôi có thể tìm thấy, điều này làm cho việc tham chiếu các chủ đề có khả năng lang thang và các thư mục gốc của plugin có vấn đề.
WP_PLUGIN_DIR
, do đó câu hỏi của tôi ở đây.