22 Жовтня 2011 13:13
Ну не мене хакнуло, а сайт. Але, враховуючи те, що я потихеньку стаю кіборгом, мені теж було трохи «нездорово».
Вчора.
Я якраз збирався відповісти на коментар і тут раптом сайт підвис.
Потім з’ясувалося, що не зовсім завис, а просто затримки виводу сторінки хвилинами міряються.
Виявилося, у php-файли тем WordPress подописувано по кілька кілобайт якихось дурниць. Після вирізання цих дурниць все запрацювало.
Судячи з часу модифікації файлів тем, відбулося це через малий час по тому, як я оновив один з плугінів.
«Після» — не означає «з причини», тому сам плугін не називаю. Треба ще розбиратися.
Але поки-що я його вимкнув 🙂
2 Січня 2010 16:20
Захотілося мені тут додати до посилань іконки, щоб помітніші були. До посилань в межах свого сайту – такі , а до зовнішніх – такі .
Початок зрозумілий, робимо картинки і додаємо до стилю класи посилань
.linkext {
background:transparent url(/files/images/linkext.png) no-repeat scroll right center;
padding:2px 15px 2px 0px;
}
.linkint {
background:transparent url(/files/images/linkint.png) no-repeat scroll right center;
padding:2px 15px 2px 0px;
}
Але далі треба пройтися по всіх посиланях і додати до них відповідні класи… Невже оце сидіти і редагувати? Адже “працювати мають машини, люди повинні думати”. Особливо приємним цей девіз стає, коли хтось вже подумав за тебе 😉 і створив для WordPress модуль, який при генерації сторінок “на льоту” заміняє текст, викориcтовуючи регулярні вирази (regular expressions).
При наявності такого інcтрументу самому треба думати мало, оскільки всі внутрішні посилання я відразу писав відносними, без http://
.
Залишається лише встановити модуль re.place та прописати в ньому два простих правила. Одне має підставляти class="linkext"
в зовнішні посилання, заміняючи
на
<a class="linkext" href=\1>
а друге – підставляти class="linkint"
у внутрішні посилання заміною
на
<a class="linkint" href=\1>
Для того, щоб ці дві заміни працювали правильно, необхідно для другого правила дати більший номер порядку виконння (order), тоді після виконання першого правила зовнішні посилання вже матимуть приписаний клас і не розпізнаватимуться зразком <a *href=([^>]*)>
.
В зразках є символи < та >, тому для правильного відображення списку правил не забудьте в налаштуваннях re.place в List view options виставити Escape HTML characters.