WordPress: тореадори і бики

Вместо рекламы

Россиянин, ты захотел скачать файл ? Или почитать чего интересного ?
Останови свою войну в Украине !

—————————

Реклама від Google



Цей нещасний, але популярний “двигунець” для сайтів має багато недоліків і недоробок. Хочу поділитись з вами деякими своїми рішеннями для WordPress.

Частина 1. Діалог має бути для людей, а не для програмістів.
Не ображайтесь, бо коли аналізувати мовний переклад багатьох звертань в WordPress, відчувається, що розробники WordPress звикли розмовляти лише з програмістами, і вже давно не розмовляли із нормальними людьми. Чесне слово, вираз “Скинути пароль” для багатьох користувачів Інтернета насправді зовсім не означає “Замінити пароль на такий, як хочу“, а сприймається, як “Обійтись без пароля“, ще багато можна знайти подібних перлів.
Що шаблон для мовної локалізації, що мовний переклад – просто плакати хочеться.
Це не все. Дуже часто сайт потрібен не лише “для своїх”, а навпаки, хочеться, щоб сайтом могли користуватись в усьому світі. Значить, головні, найбільш часті мовні звертання до користувача сайту повинні дублюватись англійською, інакше це звужує кількість читачів сайту.
Що робити ?
Довелось трохи адаптувати файли для української лоалізації як самого WordPress, так і деяких плагінів до нього. Хочете взяти .PO і .MO файли для української локалізації ? Беріть !

1. Базова українська локалізація WordPress:, із англійським дублюванням деяких простих фраз, потрібних для реєстрації, паролів, збереження, коментарів.  ЗАВАНТАЖИТИ
2. Плагін для форуму BBpress українською – ніяких проблем. Локалізація практично без помилок, але якщо помилки є, вони можуть коректуватись. Українська локалізація BBpress  доступна, її можна : ЗАВАНТАЖИТИ


Частина 2, досить неприємна. Тореадори і бики

Власник сайту змінює свій сайт, написаний на WordPress, як хоче. Але після “оновлення” WordPress‘у багато характеристик і особливостей сайту повертається до старих значень.
Десь власник сайту позмінював розміри фонтів, і самі фонти, десь ще щось змінив в дизайні.
Лише не оновлюй двигунець WordPress ! Оновив ? Тепер знову змінюй сайт, щоб він виглядав так, як хоче власник сайту, а не так, як хоче WordPress.

Трохи нагадує іспанську корриду. Досить тореадору заколоти одного бика, як на арену вибіжить наступний, такий самий бик.

Спочатку я терпів. Я уважно записував, які саме зміни я зробив на сайті, і після кожного “оновлення” я по своїх записах терпеливо повертав сайт до того вигляду, як хочу я, а не якийсь WordPress разом з його убогою  “темою”. Але терпіння моє закінчилось, коли цих змін після кожного пустопорожнього “оновлення” потрібно було робити занадто багато, щоб сайт вернувся до вигляду перед оновленням.
Довелось цей процес автоматизувати.

Отже, у мене є довжелезний список, в яких файлах мого сайту дещо потрібно змінити, там само написано, що саме і як треба змінити. Ось наприклад, кусочок тексту з одного з файлів від WordPress:

#bbpress-forums div.bbp-the-content-wrapper textarea.bbp-the-content {
width: 100%;
margin: 0;
font-size: 13px;
}
Здавалося б, нічого особливого, але я хочу font-size: 16px, бо мені так хочеться.
А також багато-багато незначних змін в різних файлах. Невже я буду терпіти знущання WordPress, який своїми “оновленнями” повертає тексти “як було” ?
Ні, терпів я недовго.

Просто придумав собі простий формат коректуючого файла, щоб по одному цьому файлу програма (не я, а програма) в кожну “нову версію” WordPress вставляла мої зміни.
Ось такий вийшов формат:

MarkerFileToChange а далі назва файла і шлях до цього файла. MarkerFileToChange – це такий маркер, який вказує, що зараз буде назва файла. Дубль всіх файлів з сайту через FTP-доступ чудово скопійований в якусь папку на мій комп’ютер, а тому повністю співпадають і назви файлів, і розміщення файлів по папках.
Ну, наприклад, такий текстовий рядок в тестовому коректуючому файлі:
MarkerFileToChange wp-admin/includes/bookmark.php
Цим рядком я вказую, що хочу щось змінити в файлі bookmark.php, шлях до файла
wp-admin/includes//bookmark.php.
Далі маркер початку зразка, який треба замінити:
MarkerChangeSampleOld
Далі я копіюю з потрібного файла мого сайту кусочок тексту, який я хочу навіщось змінити. Наприклад, щось таке:
function add_link() {
return edit_link();
}

І цей зразок я хочу замінити на інший, наприклад, на такий:
function add_linkzopa() {
return edit_link();
}
Перед цим новим зразком я ставлю маркер, який говорить про початок нового зназка. Що вийшло в сумі ? Ось такий текст:
MarkerFileToChange wp-admin/includes/bookmark.php (маркер назви файла)
MarkerChangeSampleOld (маркер початку зразка, який треба змінити)
function add_link() {  (скопіював зразок)
return edit_link();
}
MarkerChangeSampleNew (маркер нового зразка, який буде замість старого)
function add_linkzopa() {  (скопіював новий варіант зразка)
return edit_link();
}
Тобто я вказав, який файл буду змінювати, і де саме він лежить, вказав зразок, який я хочу замінити, і вказав зразок, НА ЯКИЙ я хочу замінити.

Я не хочу міняти лише один зразок, я хочу ще в одному файлі щось поміняти. Так що дописую ще кусочок тексту:
MarkerFileToChange wp-admin/css/colors/blue/colors-rtl.min.css   (тепер міняти в цьому файлі)
MarkerChangeSampleOld
div.dashboard-widget-submit  input:hover{color:#0096dd}input[type=checkbox]:checked:before (ось цей текст)
MarkerChangeSampleNew
div.dashboard-widget-submit lalalalalainput:hover{color:#0096dd}input[type=checkbox]:checked:before  (замінити на цей текст)

Я можу таким способом описати багато потрібних мені різних змін в різних файлах від WordPress. Залишилось придумати, хто зробить всі ці зміни. Це зробить моя простенька програма.
Ось і програма. Хто натиснув, той завантажив.
Програму кладу в ту саму папку з копією всіх файлів мого сайту, я їх взяв через FTP. Програма бажає файл з назвою MY-CHANGE.TXT, це звичайний текстовий файл в такому самому кодуванні, в якому всі мої файли сайту, для Інтернета часто використовується кодування UTF-8. Текстовий файл також повинен мати кодування UFT-8.
Подивимось на текст-зразок в цьому коректуючому файлі аж з двома замінами:
MarkerFileToChange wp-admin/includes/bookmark.php
тут якийсь зразок, він може бути із кількох рядків,
цей зразок в файлі буде замінений

MarkerChangeSampleNew
Ось на цей зразок буде замінено,
цей зразок також може бути із кількох рядків

MarkerFileToChange wp-admin/css/colors/blue/colors-rtl.min.css
MarkerChangeSampleOld
а в цьому файлі я міняю ось такий зразок
MarkerChangeSampleNew
на якийсь інакший зразок
MarkerFileTheEnd

Кожен блок “що на що міняти” має маркер імені файла і шляху до цього файла, маркер старого зразка, старий зразок, маркер нового зразка, новий зразок. Може бути не одна пара “старий зразок – новий зразок”, а таких пар в одному блоці може бути багато.
Таких блоків в тексті – скільки завгодно.
Останній рядок показує, що більше змін не треба.
Весь діалог в програмі я зробив англійський (який там діалог ! Просто програма підказує, ви немає десь синтаксичних помилок в файлі для такого “пакетного” редагування файлів від WordPress).
Програма максимально проста. Якщо треба в якомусь файлі зробити десять різних замін в десяти різних місцях, з різними зразками для заміни, я просто десять раз описую заміни цього файлу.
Один маркер MarkerFileToChange значить, далі один маркер старого зразка MarkerChangeSampleOld,
далі зразок,
далі один маркер нового зразка MarkerChangeSampleNew
і новий зразок.
Зразок може складатись із багатьох рядків, це страховка від того, що програма знайде і замінить там, де не треба, якщо зразок занадто короткий.
Ми з вами розуміємо, що якщо зразок занадто короткий, то програма може знайти десь в іншому місці аналогічний зразок,  а в іншому місці, можливо, ми не хочемо міняти.
В кінці коректуючого файла – маркер MarkerFileTheEnd. Значить, зміни закінчились.Далі можна в тексті писати який-небудь допоміжний коментар, програма не стане його читати.

Тепер у вас серед великої кількості файлів для WordPress є кілька змінених. Щоб ви не заплутались, які файли змінені, а які – ні, програма створила піддиректорію FilesNewVers і туди дописала всі змінені файли. Також програма створила для вас текстовий файл REZULTAT.TXT і записала в нього, які зразки з якихось причин не були змінені.

Зрозуміло, що я для підстраховки зберігаю невідредагований варіант файлів, на випадок, якщо я щось наплутаю в коректуючому файлі MY-CHANGE.TXT.
Я вже не згинаюсь під безтолковими і частими “оновленнями” WordPress.
Я всі необхідні зміни після “оновлення” роблю своєю простою програмою, це займає не пів-дня, і не пару днів, а пару секунд.
Хто хоче, може і сам з допомогою моєї програми попробувати.

Є якісь запитання, поради, може щось незрозуміло – для вас є коментарі.

Залишити відповідь (Leave a Reply)