Відносні посилання у wordpress.

Все почалось із того, що я запарився прописувати target="_blank" в якості атрибуту для посилань =) (наприклад <a href="http://mysite.com" target="_blank">). Раніше прописував цей атрибут для посилань на інші сайти, щоб кожен хто переходить по цьому посиланню відкривали нове вікно, типу щоб не губили мій сайт. Але прийшов час і я вирішив передати право користувачам самим вибирати чи вони хочуть проглядати посилання в новому вікні, чи ні. Для цього я через базу даних видалив всі target="_blank".

І вирішив залишити маркер на посиланню ось такий така маленька фігнюшка, типу що "це посилання веде на інший сайт". Оскільки я пам'ятав про можливість автоматичного додавання такого маркера за допомогою CSS, точніше - за допомогою Селекторів атрибутів, то так це і зробив прописавши в CSS:


a[href^="http"]{ /* застосовувати до всіх посилань, які починаються із http */
	background: url('/media/wp/img/_blank.png') no-repeat 0 2px; /* Параметри малюнка */
	padding-left: 15px; /* Зміщуємо текст вправо для відсовування його із фонового малюнка позаду */
}
Ну я це все діло зробив побистрячку і вирішив, що побистрячку і отримаю бажаний результат. І тут виявляється, що є певне "але" для Wordpress, який всі свої посилання робить абсолютними. Тобто після застосування цього коду в мене всі вордпресовскі посилання стали із маркером така маленька фігнюшка. Короче не буду я вас більше томити =). Для того, щоб всі посилання були відносними необхідно зайти в базу даних вордпреса і в табличці wp_options :
  1. в записі із option_name='siteurl' замінити значення в полі option_value із абсолютного запису типу http://site-konstruktor.com.ua на відносний / (знак слеш).
  2. в записі із option_name='home' замінити значення в полі option_value із абсолютного запису типу http://site-konstruktor.com.ua на відносний / (знак слеш).

Причому це ж саме треба робити при кожному оновленні wordpress

Хоча в такому способі гарантії не можу дати, бо що стосується Wordpress, то він тепер видаватиме відносні посилання, але ваша тема може "не зрозуміти" що сталось і видавати биті посилання, наприклад, на файли javascript чи файли CSS. Моя поточна тема саме так і викаблучувалась, точніше - продовжує викаблучуватись, бо видає бите посилання на javascript для коментарів. Дуже схоже на невеличкий баг вордпресовської функції wp_enqueue_script(), яка не правильно розуміє відносні посилання від кореня сайту в своєму другому параметрі, і трактує їх як відносні посилання від поточної сторінки...

Якщо ви знайшли помилку, прохання - виділіть текст помилки (максимум 127 символів) і натисніть Ctrl+Enter.