При добавлении картинки в публикацию, WP формирует html код с абсолютным путем. Т.е. мы получаем полный адрес: протокол, домен, путь на сайте и имя файла. Как сделать, чтобы WP подставлял относительные пути, т.е. опускал протокол и домен?
Настраиваем относительные пути для изображений
Формируемый путь картинки зависит от константы WP_CONTENT_URL, которая устанавливается при инициализации движка по умолчанию как абсолютный путь (файл /wp-includes/default-constants.php):
1 |
define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' ); |
Но только, если вы ранее не установили значение этой константы в wp-config.php.
Если wordpress установлен в DOCUMENT_ROOT хостинга (что случается в 99.99%), то задать относительный путь можно следующей настройкой в конфигурационном файле:
1 |
define('WP_CONTENT_URL', '/wp-content' ); |
После этого, все добавляемые в публикации изображения будут иметь относительный путь.
Подводные камни изменения WP_CONTENT_URL
Andrew Nacin, один из разработчиков WP поделился своими соображениями против использования относительных путей. Он считает, что использование относительных путей создаст проблемы при переносе wordpress, к примеру из корня в поддиректорию, и любых других изменениях, которые скажутся на относительном адресе, т.к. в таком случае будет сложно организовать поиск и замену путей. Он считает, что использование абсолютного пути избавляет от всякой двусмысленности относительно размещения изображения.
Возможны также проблемы, связанные с работой некоторых плагинов, которые не учитывают, что используются относительные пути.
В общем, если вы не ожидаете всех этих проблем в вашем проекте, то можете изменить значение WP_CONTENT_DIR.