Символічні посилання на поле для розробників із плагінами та таблицями стилів


11

Я використовую mac os x 10.6 з xampp.

http://wp3.1/ це URL-адреса, де я встановив WordPress.

Фізичний шлях є /Users/myUserName/Sites/wp3.1/

Я не встановлюю плагіни чи теми "природним" способом. Я створив каталог з назвою "git", який знаходиться в /Users/myUserName/git/. Тут живуть усі мої сховища git. Коли я хочу встановити плагін, я просто створюю символічне посилання в /Users/myUserName/Sites/wp3.1/wp-content/plugins/. Це чудово підходить для простих плагінів, але якщо плагін зазначає таблицю стилів або сценарій, URL відображається як:

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

Як це виправити?

Відповіді:


10

Символічні посилання є… ризикованими для WordPress. Простіше використовувати окремий домен для плагінів на wp-config.php:

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

Див. Стратегія створення плагінів із використанням Eclipse як приклад конфігурації IDE з такою установкою.


Цікаво ... Дякую! Зробимо спробувати це відразу.
— mfields

Це спрацювало сподобалось чарівність. Дуже дякую! Мені знадобилося певний час, щоб мої пристрасті були налаштовані, але зараз усе працює на відмінно. Божевільний реквізит !!!
— mfields

@toscho: Чи не використовуватимуть окремий домен для своїх плагінів, створювати проблеми із міждоменною безпекою у веб-переглядачах? WP файли cookie, які не передаються, коли ви отримуєте доступ до чогось у ` plugins.dev/myplugin/myaction.php '?
— Ян Фабрі

1
@Jan Fabry Я використовую цей метод лише для розробки. IMO, плагіни, кодовані для доступу до своїх файлів, роблять це неправильно. Такі дії, як це, слід обробляти адміністратором-ajax.php.
— mfields

1
+1 Це можливо як для плагінів, так і для MU-плагінів, але, на жаль, не для крапель, яким доведеться залишитися у вашому реєстрі ~/wp-content...
— kaiser

0

Як бачите, URL-адреса плагіна правильна, за винятком реального шляху, що застряг посередині. Ми можемо відфільтрувати функцію, відповідальну за генерування URL-адрес плагіну, і видалити її.

Наступний код повинен бути встановлений як плагін з обов'язковим використанням :

add_filter( 'plugins_url', function( $url ) {
    return str_replace( '/Users/myUserName/git/', '', $url );
});
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.