Eklenti ve stil sayfaları ile geliştirici kutusunda sembolik bağlantılar


11

Xampp ile mac os x 10.6 kullanıyorum.

http://wp3.1/ WordPress'in yüklü olduğu URL.

Fiziksel yol /Users/myUserName/Sites/wp3.1/

Eklentileri veya temaları "doğal" şekilde yüklemiyorum. Bulunduğum "git" adında bir dizin oluşturdum /Users/myUserName/git/. Tüm git depolarım burada yaşıyor. Bir eklenti kurmak istediğimde, sadece sembolik bir bağlantı oluşturuyorum /Users/myUserName/Sites/wp3.1/wp-content/plugins/. Bu, basit eklentiler için harika çalışır, ancak eklenti enqueue bir stil sayfası veya komut dosyasıysa, url şu şekilde görüntülenir:

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

Bunu nasıl düzeltirim?

Yanıtlar:


10

WordPress'de sembolik bağlantılar… risklidir . Wp-config.php başına eklentiler için ayrı bir etki alanı kullanmak daha kolaydır:

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

Böyle bir kurulumla IDE yapılandırmasına örnek olarak Eclipse Kullanarak Eklenti Oluşturma Stratejisi konusuna bakın .


İlginç ... Teşekkürler! Bunu hemen deneyeceğim.
mfields

Bu bir cazibe sevdim çalıştı. Çok teşekkürler! Hayaletlerimin kurulması biraz zaman aldı, ama şimdi her şey mükemmel çalışıyor. Çılgın Sahne !!!
mfields

@toscho: Eklentileriniz için ayrı bir alan adı kullanmayacak mısınız? Tarayıcılarda alanlar arası güvenlikle ilgili sorunlar mı oluşturuyorsunuz? WP ` plugins.dev/myplugin/myaction.php 'de bir şeye eriştiğinizde aktarılmayan çerezler ?
Jan Fabry

1
@Jan Fabry Bu yöntemi sadece geliştirme amacıyla kullanıyorum. IMO, dosyalarına erişmek için kodlanmış eklentileri yanlış yapıyor. Bunun gibi eylemler admin-ajax.php tarafından gerçekleştirilmelidir.
mfields

1
+1 Bu, Eklentiler ve MU-Eklentiler için mümkündür, ancak ne yazık ki dirinizde kalması gereken Dropins için değil ~/wp-content...
kaiser

0

Gördüğünüz gibi, eklenti URL'si, ortada sıkışmış gerçek yol dışında doğrudur. Eklenti URL'leri oluşturmaktan sorumlu işlevi filtreleyebilir ve kaldırabiliriz.

Aşağıdaki kod, bir Zorunlu Kullanım Eklentisi olarak yüklenmelidir :

add_filter( 'plugins_url', function( $url ) {
    return str_replace( '/Users/myUserName/git/', '', $url );
});
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.