Символьные ссылки на блок разработчика с плагинами и таблицами стилей


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

Это сработало, понравилось очарование. Спасибо! Мне потребовалось некоторое время, чтобы настроить мои vhosts, но теперь все работает отлично. Безумный реквизит !!!
Мфилдс

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

1
@Jan Fabry Я использую этот метод только для разработки. ИМО, плагины, закодированные для доступа к своим файлам, делают это неправильно. Действия, подобные этому, должны обрабатываться admin-ajax.php.
mfields

1
+1 Это возможно как для плагинов, так и для MU-плагинов, но, к сожалению, не для дропинов, которые должны оставаться в вашей директории ~/wp-content...
kaiser

0

Как видите, URL плагина правильный, за исключением реального пути, застрявшего в середине. Мы можем отфильтровать функцию, отвечающую за генерацию URL плагинов, и удалить это.

Следующий код должен быть установлен как Must Use Plugin :

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