Liên kết tượng trưng trên hộp dev với plugin và bảng định kiểu


11

Tôi đang sử dụng mac os x 10.6 với xampp.

http://wp3.1/ là url đến nơi tôi đã cài đặt WordPress.

Con đường vật lý là /Users/myUserName/Sites/wp3.1/

Tôi không cài đặt plugin hoặc chủ đề theo cách "tự nhiên". Tôi đã tạo một thư mục có tên "git" được đặt trong /Users/myUserName/git/. Đây là nơi tất cả các kho git của tôi sống. Khi tôi muốn cài đặt một plugin, tôi chỉ cần tạo một liên kết tượng trưng trong /Users/myUserName/Sites/wp3.1/wp-content/plugins/. Điều này hoạt động rất tốt cho các plugin đơn giản, nhưng nếu plugin đó là biểu định kiểu hoặc tập lệnh, url sẽ hiển thị dưới dạng:

http://wp3.1/wp-content/plugins/Users/myUserName/git/options-framework-plugin/css/colorpicker.css?ver=3.1.1

Làm thế nào để tôi sửa lỗi này?

Câu trả lời:


10

Liên kết tượng trưng là rủi ro trong WordPress. Việc sử dụng một tên miền riêng cho plugin trên wp-config.php sẽ dễ dàng hơn:

define( 'WP_PLUGIN_DIR', '/local/path/to/plugin/directory' );
define( 'WP_PLUGIN_URL', 'http://plugins.dev');

Xem Chiến lược xây dựng plugin bằng cách sử dụng Eclipse làm ví dụ cho cấu hình IDE với thiết lập như vậy.


Thú vị ... Cảm ơn! Đi để thử cái này ngay lập tức.
Mfields

Điều này làm việc như một sự quyến rũ. Cám ơn rất nhiều! Phải mất một thời gian để thiết lập vhost của tôi, nhưng bây giờ mọi thứ đều hoạt động hoàn hảo. Đạo cụ điên !!!
Mfield

@toscho: Việc không sử dụng một tên miền riêng cho các plugin của bạn có gây ra sự cố với bảo mật tên miền chéo trong trình duyệt không? Cookie WP không được chuyển khi bạn truy cập một cái gì đó trong ` plugins.dev/myplugin/myaction.php '?
Jan Fabry

1
@Jan Fabry Tôi chỉ sử dụng phương pháp này để phát triển. IMO, các plugin được mã hóa để truy cập các tệp của họ đang làm sai. Các hành động như vậy sẽ được xử lý bởi admin-ajax.php.
Mfields

1
+1 Điều này có thể áp dụng cho các Plugin cũng như MU-Plugins, nhưng thật đáng buồn là không phải cho Dropins, mà phải ở trong ~/wp-contentthư mục của bạn ...
kaiser

0

Như bạn có thể thấy, URL plugin là chính xác ngoại trừ đường dẫn thực sự bị kẹt ở giữa. Chúng tôi có thể lọc chức năng chịu trách nhiệm tạo URL plugin và xóa cái này.

Mã sau đây phải được cài đặt làm Plugin Phải sử dụng :

add_filter( 'plugins_url', function( $url ) {
    return str_replace( '/Users/myUserName/git/', '', $url );
});
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.