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


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.