Налаштування обладнання та програмного забезпечення

Чи можна редагувати файли у папці wp-includes? Розуміння внутрішнього функціонування WordPress Структура вордпресу.

Права доступу, що встановлюються на файли та папки, що належать системі керування контентом WordPress, мають дуже серйозний вплив на безпеку сайту. Якщо роздати неправильні права, то можна очікувати різноманітні помилки у функціонуванні сайту, чи то білий екран смерті замість сторінки, чи неможливість завантажити зображення в папку для мультимедіа. Більш того, неправильно виставлені права доступу можуть зруйнувати всю систему безпеки сайту, зробивши його надзвичайно вразливим до атак хакерів.

WordPress має чітко визначену структуру каталогу, в якому центральні папки – це wp-content, wp-admin та wp-includes.

Майже все важливі компоненти, що входять до складу вашого сайту, такі як теми, плагіни і т.д., містять саме ці три папки. При цьому вони мають власні права доступу, що дозволяють адміністратору вирішити, «кому» і «що» можна робити в них. Під «кому» тут мається на увазі користувач, який матиме наступні асоціації з ресурсами:

  • Власник - пряме володіння;
  • Група - володіння через входження до групи;
  • Інші – відсутність володіння та групи.

Користувачі веб-сервера та їх групи

До того, як продовжити розбирати дозволи доступу WordPress, бажано розібратися, хто ж мається на увазі під користувачем веб-сервера, оскільки все крутиться саме навколо нього. Якщо коротко, то це звичайний обліковий запис, що має права на виконання якихось дій на веб-сервері. Взяти, наприклад, протокол передачі файлів FTP. Як тільки у вас з'явиться необхідність завантажити якесь зображення через FPT, ви користуватиметеся відповідним акаунтом.

Але FTP обліковий запис необхідний тільки тоді, коли потрібно завантажити щось прямо на сервер, а якщо потрібно зайти, наприклад, в адмін панель? У такому випадку, в роботу вступає обліковий запис веб-користувача, що дозволяє керувати сайтом на ВордПрес, встановлюючи плагіни та теми, завантажуючи зображення через менеджер мультимедіа і т.д. Саме від його імені і створюються нові файли, коли ви робите ці речі у своїй панелі адміністратора.

Будь-який окремо взятий користувач може також перебувати в якійсь групі, що має свої власні привілеї. Оскільки вони поширюються усім, хто входить у групу, це найкращий спосіб призначення привілеїв конкретному ресурсу і поділу їх між усіма учасниками.

Деякі веб-хостинги, які в основному працюють на основі Cpanel, не розрізняють аккаунтів. Тим не менш, є і такі хости, на яких ці типи користувачів різні, щоправда, належать до однієї групи. Завдяки існуванню різних типівкористувачів, ви маєте можливість настроїти правильний контроль доступу для вашого сайту.

Дозволи на дії із файлами WordPress

Будь-який ресурс у ВордПрес пов'язаний з певним набором заданих значень, що диктують те, що користувач може зробити з ним. Є три дії, які ми можемо виконати з конкретним ресурсом – читати, писати (або змінювати) та виконувати. Для кожного ресурсу можна вказати, які з цих дій може виконати власник, група та інші. Таким чином, нам потрібно три біти (по одному на кожну дію) для кожної асоціації, що загалом дорівнює 9 біт. Тому дозвіл стає тризначним числом, наприклад, 664, в якому:

  • 6 – дії для власника;
  • 6 – дії групи;
  • 4 – дії інших типів.

При цьому кожне значення зазначених цифр визначає всі можливості, які має даний типкористувачів. У випадку з 664, 6 – це лише читання та запис, а 4 – лише читання.

Каталоги

На каталоги, як і самі файли, теж можуть діяти певні права доступу. Вони дуже схожі, але мають деякі відмінності, такі як:

  • Читати – переглядати вміст каталогу;
  • Писати – створювати нові та видаляти існуючі (при цьому права для каталогу поширюються на все, що в ньому міститься);
  • Виконувати – заходити до каталогів (наприклад, скориставшись командою у терміналі).

Виставляти правильні обмеження життєво важливо, оскільки йдеться про безпеку, а не лише про функціональність ВордПрес. Взяти, наприклад, config.php, бажано виставляти жорстке обмеження 600 (тільки для читання). Припустимо, що його права змінюватися на 666, тоді будь-яка людина зможе побачити та змінити конфігурацію вашого сайту, а значить зможе легко зламати його або зробити вразливою перед зовнішніми загрозами.

Зміна дозволів на дії у каталогах WordPress

Cpanel вашого хостингу забезпечує інтерфейс, в якому є можливість встановлювати будь-який рівень доступу для ресурсів, що зберігаються. Найчастіше це можна зробити простим вибором конкретного файлу і натисканням «Змінити дозволи». Якщо ви маєте справу з терміналом, то простіше буде застосовувати спеціальну команду chmod. Вона виглядає так: chmod 644

Тепер, коли основні поняття ми вже розібрали, можна розпочати встановлення дозволів на ресурси WordPress. Вони можуть бути різними, залежно від бажаного рівня безпеки та зручності використання. Деякі роблять їх жорсткішими, а інші надто м'якими. У цій справі, найважливіше досягти найбільшої безпеки, не створюючи перешкод для нормального функціонуванняВордПрес. Взагалі, рекомендується робити таке:

  • Поставити всі файли 664;
  • На всі папки 775;
  • wp-config.php має бути лише 600.

Ось що вийде:

  • Аккаунти зможуть прочитати та змінити файли;
  • Сам двигун зможе створювати, змінювати або видаляти будь-які файли;
  • wp-config.php буде повністю захищений від сторонніх очей.

Майте на увазі, що всупереч стандартній конфігурації ВордПрес, якийсь конкретний сервер може бути суворішим, ніж інші, і не дозволить виставити 600 на wp-config.php. Але ви можете вказати йому м'якше 640, а якщо це не спрацює, то навіть 644.

Взагалі, найбезпечніше поставити на все «тільки для читання». Таким чином хакерам буде дуже важко завантажувати шкідливі скрипти на ваш сайт або модифікувати існуючі. Це дозволить значно скоротити масштаби будь-яких атак. Однак, якщо поставити на все «тільки для читання», то можливі деякі проблеми в юзабіліті.

Наприклад, у вас більше не буде можливості закачувати медіафайли, а також встановлювати нові плагіни та теми. Крім того, за певних обставин такі суворі дозволи можуть призвести до дивних помилок під час оновлення плагінів або ядра ВордПрес. Отже, рекомендовані значення за умовчанням найкраще працюватимуть для вирішення більшості завдань.

Висновок

І так ми розглянули, яку важливу роль відіграють дозволи для доступу до ресурсів WordPress. Якщо вони задані правильно, це може значно посилити заходи безпеки вашого сайту, інакше можна отримати безліч проблем, включаючи дуже серйозні, як з безпекою, так і з загальною працездатністю ВордПрес. Майте на увазі, що ви можете також поставити обмеження на ресурси ВордПрес через Htaccess, але це вже буде трохи складніше.

Здрастуйте, шановні читачі! Сьогодні я вирішив порушити дуже важливе питання алгоритму дій WP при взаємодії із шаблонами. Це актуально, оскільки розуміння нюансів роботи движка з файлами, що відповідають за складові частини, дозволить швидко і коректно робити необхідні зміни.

У майбутньому неодноразово доведеться редагувати існуючу або створювати нову сторінку на своєму блозі або веб-сайті, я вас запевняю. Навіть якщо ви успішно встановите ту чи іншу тему, абсолютно не можна гарантувати, що вас все влаштує. І якщо раптом одразу будете всім задоволені, з часом все одно захочеться щось підправити чи кардинально змінити.

Зрештою, знання ніколи не бувають зайвими, вони дозволять заощадити не лише дорогоцінний час, а й ваші гроші, оскільки найнеобхідніший, екстреніший і вимагаючий оперативного втручання ви зможете робити самі, а не звертатися за кожною дрібницею до фахівців.

Як встановити тему та редагувати шаблони WordPress

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

Однак, якщо ви бажаєте осягнути всю суть роботи з сайтом та отримати додаткові знання, варто спробувати завантажити і встановити для початку тему за допомогою якогось ФТП клієнта(Я, наприклад, використовую).

Ця програма дозволяє робити будь-які дії з файлами, розташованими як на локальному комп'ютері, так і на віддаленому сервері хостингу (і читайте про те, що це таке і як придбати місце для свого проекту), де "живе" ваш сайт.

Я вже давав свої рекомендації, звідки краще вибирати безкоштовні та платні теми (у тому ж матеріалі, посилання на який представлено на початку статті). Коротко зазначу, що бажано скачувати з офіційних сайтів, наприклад, звідси чи звідси. Спочатку скачайте тему на комп'ютер, а потім виконайте такі дії:

  • Розпакуйте архів, клацнувши по ньому правою кнопкоюмиші та обравши відповідну операцію;
  • Отримавши доступ по FTP до файлів вашого сайту, завантажте папку, отриману після розархівування, на хостинг директорію (папку) themes

В принципі, після цього тему WordPress встановлено. Щоб підключити оформлення до свого сайту, потрібно лише активувати її в панелі управління. Надалі редагувати файли шаблонів сторінок можна буде через ту саму адмін панель, пройшовши в розділ "Зовнішній вигляд" - "Редактор":

Там праворуч дано список всіх шаблонів, що входять до складу цієї теми. Надалі при необхідності ви можете скористатися цим редактором для зміни виду сторінок вашого сайту. Але! Я спочатку не раджу застосовувати цей інструмент, особливо новачкам, тому що у разі якоїсь помилки ви з легкістю "покладете" свій сайт, після чого на пошуки причини можете витратити купу часу та нервів.

Набагато зручніше з цієї точки зору, яка також встановлює з'єднання FTP, має підсвічування синтаксису, а у разі зробленої вами помилки дозволяє повертати вихідний вміст файлів на кілька кроків. Втім, оцініть самі. Ось вид веб-сторінки в розділі редактора шаблонів адмінки Вордпрес:


А ось який інтерфейс для редагування пропонує Нотпад плюс плюс:


Як бачите, різниця очевидна і навіть при побіжному порівнянні сторонній редакторвиграє з переважною перевагою. Ну а коли ви спробуєте весь функціонал Notepad++, всі сумніви розвіються остаточно.

І ще. Редагування шаблонів WordPressя раджу здійснювати на локальному сервері, тобто на своєму комп'ютері (тут Денвер, а ще краще, Open Server вам на допомогу). Зробили всі необхідні зміни, протестували, а потім уже заливаєте файли на хостинг. Експерименти з "живим" сайтом можуть коштувати дорого.

Файлова структура шаблонів сторінок

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

Ваш_сайт/wp-content/themes/назва_вашої_теми

Для мого блогу в папку з однією з встановлених темцей шлях виглядає так:

Сайт/wp-content/themes/country

При перегляді у вікні редактора Нотпад++ папка з усіма вашими файлами теми WordPressбуде виглядати так:

До структури входять файли з розширенням.php, серед яких можна виділити саме шаблони, які мають відображати цілі сторінки, які є основними, тобто присутніми практично в будь-якій темі, такі як головна (index.php), сторінка записів (single.php), статичні сторінки (page.php).

Однак є шаблони, які відповідають за виведення спеціально створеної веб-сторінки. Наприклад, на моєму блозі один час існувала на сторінці, з метою її встановлення було створено файл mail.php.

Крім того, є шаблони, які необхідні для конструювання окремих частин, що відображаються на всіх сторінках сайту. Це шапка, або хідер (header.php), ліва та/або права колонка, інакше сайдбар (sidebar.php), підвал, або футер (footer.php). Схематично таку конструкцію з областями сторінки можна так:


Як видно зі скріншота, якщо шапка, сайдбар, підвал на будь-якій сторінці будуть виглядати однаково, то залежатиме від типу веб-сторінки, який і визначатиметься відповідним файлом із розширенням.php.

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

Ієрархія шаблонів WordPress та послідовність виведення сторінок

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

Справа в тому, що в кожній темі спочатку існує свій набір файлів, деякі з поширених можуть бути відсутніми. Наприклад, може бути шаблона category.php, який відповідає за виведення рубрик (категорій). У цьому випадку WordPress взаємодіє з файлом index.php та оформлення сторінки з категоріями буде абсолютно тотожним із головною.

Почнемо з домашньої веб-сторінки. Пріоритет тут відданий Home. Тобто послідовність, з якою Вордпрес взаємодіятиме з шаблоном, наступна: спочатку відбувається запит Home, якщо його немає, то WordPress звертається до основного шаблону Index:

  1. Home (головний пріоритет);
  2. Index.

Якщо конструюється окрема стаття блогу, шаблоном якої за умовчанням є Single, То послідовність звернення буде такою:

  1. Single-(post_type). Скажімо, якщо у конкретному випадку тип запису product, WP буде звертатися до шаблону single-product.php;
  2. Single;
  3. Index.

Для статичної сторінки Pageієрархія наступна:

  1. Custom template (користувацький шаблон, створений спеціально для конкретної веб-сторінки);
  2. Page-(slug). Тут slug – коротка назва (псевдонім) сторінки. Наприклад, якщо у складі теми є файл з назвою page-recent-news, то WP звернутися до нього;
  3. Page-(id). Якщо веб-сторінка ототожнюється по конкретному ідентифікатору (id) 12, то вона буде наступною за ієрархією, якщо відсутні зазначені вище;
  4. Page;
  5. Index.

Щоб вивести сторінку рубрик, Вордпрес розпочне пошук спеціального файлу, потім буде шукати на id. Якщо таких шаблонів не існує, то перевага отримає загальний шаблон, далі за спадною Archive та Index:

  1. Category-(slug);
  2. Category-(id);
  3. категорії;
  4. Archive (архів);
  5. Index.

Аналогічна картина вимальовується й у тега (мітки). Насамперед спеціальний шаблон, далі на основі id, після чого Tag, Archive та Index:

  1. Tag-(slug);
  2. Tag-(id);
  3. Archive;
  4. Index.
  1. Author;
  2. Archive;
  3. Index.

Продовжуємо, лишилося небагато. Існує можливість наявності сторінки тимчасового архіву Date. У цьому випадку WP після невдачі шукатиме Archive, після нього Index:

  1. Date;
  2. Archive;
  3. Index.

На переважній більшості ресурсів використовується сторінка пошуку, яка визначається шаблоном Search. У разі відсутності - файл основного шаблону Index:

  1. Search;
  2. Index.
  1. Index.

Нарешті, цілком може бути, що у встановленій вами темі передбачена окрема вебсторінка для відображення продуктів різних програм (відео, аудіо, зображення). В цьому випадку ієрархія шаблонів:

  1. Image, відео, аудіо;
  2. Application;
  3. Attachment;
  4. Index.

На сьогодні це все. Цей пост може стати відправною точкоюдля розуміння принципу роботи Вордпрес та основою для наступних статей на цю тему. Тому милості прошу підписуватися на свіжі публікації, які обіцяють бути дуже цікавими та пізнавальними. Ну і насамкінець, як водиться, відео:

Якщо ви хочете використовувати весь потенціал WordPress, то вам неодмінно потрібно дізнатися більше про шаблони. Коли WordPress відображає сторінку, він використовує шаблони, щоб визначити, як має виглядати. Більше того, CMS дотримується суворої ієрархії, завдяки якій все виглядає організовано та злагоджено. Знаючи, що таке ієрархія шаблонів WordPress і як вона працює, ви зможете точно налаштувати тему свого сайту.

Ієрархія шаблонів WordPress складається із семи основних категорій:

  1. Головна сторінка сайту
  2. Одиночний запис
  3. Статична сторінка
  4. Сторінка категорій та тегів
  5. Типи користувача записів
  6. Сторінка результатів пошуку
  7. Сторінка 404 (нічого не знайдено)

У цьому посібнику ми познайомимо вас із шаблонами WordPress та їх ієрархією. Ми також пояснимо, як теми використовують шаблони для відображення сторінок вашого сайту. Перед нами величезне поле для діяльності, тому давайте почнемо його обробку!

Введення у файли шаблонів (і як вони співвідносяться з темами WordPress)

Коли ви створюєте простий статичний веб-сайт, ви зазвичай просто використовуєте HTML та CSS для рендерингу та налаштування його зовнішнього вигляду. WordPress, з іншого боку, набагато сильніший. Платформа побудована мовою PHP, і вона використовує кілька спеціальних файлів.php для визначення того, як формуються окремі частини ваших сторінок сайту.

Наприклад, подивіться праву частину цієї публікації. Є бічна панель, яка вказує на інші схожі публікації нашого блогу. Коли ваш браузер сказав WordPress завантажити цю статтю одночасно з цим було підтягнуто кілька файлів-шаблонів, один з яких називається sidebar.php.Цей файл містить інформацію про те, як відобразити бічну панель, яку ви бачите зараз, і які елементи вона повинна містити:

Бічні панелі – це, звичайно, лише одна з частин повної сторінки. Для більшості сторінок WordPress потрібно декілька файлів шаблонів для роботи, у тому числі:

  • index.php
  • header.php
  • sidebar.php
  • footer.php
  • functions.php
  • single.php
  • comments.php

Потрібно відзначити, що це не всі файли-шаблони, які ви можете знайти у WordPress. header.php, sidebar.phpі footer.php, особливо важливі, оскільки вони відомі як частина шаблону (template partials). Це означає, що вони можуть бути вбудовані в інші шаблони.

Підхід WordPress до створення сторінок спочатку може бути складним. Проте, цей підхід є досить ефективним. Якщо у вас був унікальний шаблон для кожної окремої сторінки вашого сайту, налаштування було б кошмаром. Модульний підхід до шаблонів WordPress дозволяє вносити зміни в один файл і використовувати цей елемент у будь-якому місці сайту.

Коли справа доходить до вибору шаблонів для кожної сторінки, перше, що робить WordPress – це перевіряє вашу поточну тему. Кожна тема включає в себе власний набір файлів-шаблонів, який матиме пріоритет над усіма іншими. Це частина того, що ми називаємо 'ієрархією шаблонів WordPress' у дії, яку ми розглянемо в наступному розділі.

Тепер, коли ви розумієте, як WordPress відображає ваші сторінки, ставати зрозуміло, що теми – це в основному колекція файлів-шаблонів. На практиці для теми потрібно лише один файл шаблону, і це – index.php. Тим не менш, більшість тем включає набагато більше шаблонів. Для тих моментів, які не описані у вибраній темі, WordPress повертається до інших файлів у своїй ієрархії, щоб заповнити ці прогалини.

Як працює ієрархія шаблонів WordPress

У попередньому розділі ми познайомили вас із деякими прикладами файлів шаблонів WordPress. Однак це були лише деякі з шаблонів, які можуть бути використані при завантаженні сторінки або запису. Ієрархія шаблонів WordPress визначає які шаблони використовуються і в якому порядку.

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

  1. WordPress шукатиме файл шаблону під назвою category-hosting.phpу каталозі поточної теми.
  2. Якщо файл category-hosting.phpне буде знайдено, WordPress шукатиме той, який використовує ідентифікатор категорії, наприклад, category-2.php.
  3. Якщо WordPress не знайде жодного з цих параметрів, він шукатиме спільний файл category.php.
  4. Якщо ж і файл із ім'ям category.phpне буде знайдено, WordPress відкотиться назад і шукатиме шаблон archive.php.
  5. Нарешті, якщо всі інші дії закінчаться безуспішно, платформа завантажить файл index.phpвашої теми і буде використовувати його як шаблон сторінки.

Деякі файли шаблонів мають пріоритет над іншими, тому вони організовані в ієрархію. У широкому сенсі сайти WordPress складаються із семи категорій сторінок, кожна з яких має свою строго певну ієрархію. Тепер давайте розглянемо, що являють собою ці категорії і як працюють їхні ієрархії.

Пояснення ієрархії шаблонів WordPress (7 категорій)

Сторінки кожного сайту WordPress можна розділити на сім категорій. Кожна з цих категорій має інтегровану ієрархію, за кожною з якої ми вас проведемо.

1. Головна сторінка сайту

Насамперед, давайте поговоримо про першу (головну, домашню) сторінку вашого сайту. Коли WordPress завантажує головну або домашню сторінку, перше, що він шукатиме, це файл front-page.php. Якщо файл недоступний, платформа повернеться до home.php. Якщо обидва файли будуть відсутні, WordPress звернеться до незмінно надійного файлу index.phpякий завжди є (інакше ваша тема не буде працювати).

Іншими словами, дана ієрархія поділяється так:

  1. front-page.php
  2. home.php
  3. index.php

Навіть якщо ці три файли будуть однаковими, WordPress, як і раніше, слідуватиме своїй внутрішній логіці. Звичайно, ця конкретна ієрархія є досить простою. Перейдемо до категорії сторінок, яка трохи складніша.

2. Одиночний запис

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

Ось як працює ієрархія одиночних записів:

  1. single-(post-type).php
  2. single.php
  3. singular.php
  4. index.php

Ймовірно, ви не дізнаєтеся про деякі з цих файлів шаблонів, тому давайте дамо їм певний контекст. На початку списку single-(post-type)-(slug).php. Зрозумілішим прикладом може бути single-product-ca-12.php, у разі інтернет-магазину. Іншими словами, WordPress шукатиме унікальний файл шаблонів для кожного завантажуваного вами повідомлення в межах своєї конкретної категорії. Якщо платформа не може знайти відповідний шаблон, вона повернеться на крок назад до single-(post-type).phpі так далі, доки неминуче знову не досягне index.php.

На практиці цей підхід дозволяє створювати шаблони для окремих записів або продуктів. Однак, якщо ви надаєте перевагу використати один шаблон WordPress для всіх своїх публікацій, для цього потрібен single.php.

3. Статична сторінка

Статично сторінки потрапляють в окрему категорію WordPress. Наприклад, візьміть сайт Hostinger загалом. https://www.сайт - це наша головна сторінка, і при зверненні до неї завантажується шаблон front-page.php. Інші розділи сайту, такі як https://www.сайт/kupit-hosting-sajtov, належать до категорії статичних сторінок.

Статичні сторінки реалізують таку ієрархію:

  1. Файл шаблону користувача
  2. page(slug).php
  3. page-(id).php
  4. page.php
  5. singular.php
  6. index.php

Зверніть увагу, що перший пункт у списку не є ім'ям файлу. Це тому, що WordPress може розпізнавати кілька типів вмісту як статичні сторінки. Наприклад, якщо ви маєте справу із записом, WordPress за умовчанням використовуватиме ієрархію, про яку ми говорили раніше. Статичні сторінки, з іншого боку (такі як /kupit-hosting-sajtov), ​​будуть переміщатися прямо на page-slug.php. У нашому прикладі це буде page-kupit-hosting-sajtov.php(якщо такий файл існує).

З цього моменту ця ієрархія працює так само, як із записами. Якщо немає шаблону для унікальної структури сторінки, WordPress шукатиме той, що відповідає його ідентифікатору, і так далі. Як завжди, в результаті всі шляхи призводять до index.phpякщо ви не знаходите рішення на більш ранніх кроках.

4. Сторінки категорій та тегів

Як ви пам'ятаєте, ми фактично розглянули ієрархію категорій раніше у цій статті як приклад. У будь-якому випадку давайте розберемо шаблони, які ця ієрархія охоплює по порядку:

  1. category(slug).php
  2. category-(id).php
  3. category.php
  4. archive.php
  5. index.php

Ця ієрархія працює так само, як для одиночних записів та статичних сторінок. WordPress буде шукати шаблон, який є унікальним для категорії, яку ви хочете завантажити, спочатку на ім'я файлу, яке включає його спеціальну частину адреси (slug), а потім, перейде до його ідентифікатора. Якщо цей підхід завершиться безуспішно, він буде працювати з category.php, а потім archive.php. Зрештою, ваш архів WordPress повинен включати повідомлення з усіх ваших категорій, тому має сенс увімкнути його в цю конкретну ієрархію.

У цьому розділі ми також згадуємо теги WordPress, тому що категорії та теги є таксономічними елементами. Крім того, їх ієрархії точно збігаються, за винятком того, що ви замінюєте всі екземпляри категорії ‘ category’на тег ‘ tag’,і тоді - category-(slug).phpстає tag-(slug).phpі т.д.

5. Довільні (користувацькі) типи записів

Якщо ви не знайомі з , то варто відзначити, що цей тип контенту в основному не підпадає під WordPress класифікації за замовчуванням. Наприклад, якщо ви запустите блог, який фокусується на оглядах, ви можете створити власний тип записів reviews (відгуки), та налаштувати його для включення додаткових функцій.

Проте створення довільних типів записів є темою іншого керівництва. На НаразіДосить сказати, що з цих типів контенту є своя ієрархія:

  1. archive-(post_type).php
  2. archive.php
  3. index.php

Як ви можете бачити, ця ієрархія формується не так чітко, як деякі інші. Тим не менш, як і раніше, є кілька рівнів шаблонів, перш ніж перейти до index.php, чого достатньо створення складних сторінок.

6. Сторінки результатів пошуку

  1. search.php
  2. index.php

У цьому випадку WordPress одразу перейде до index.php, якщо не може знайти шаблон, що настроюється для вашої сторінки результатів пошуку. Тим не менш, більшість сучасних тем будуть включати деяке налаштування для вашої сторінки пошуку.

7. Сторінка 404 (нічого не знайдено)

Сторінка 404 – це сторінка помилки. Зазвичай ви сподіваєтеся, що ваші користувачі ніколи не побачать ці сторінки, але подбати про них все ж таки важливо про всяк випадок. Спочатку WordPress не включає сторінки помилок, що настроюються, але їх досить легко встановити.

Якщо ви створите власну сторінку помилок, WordPress шукатиме її спочатку, як показано в цій ієрархії:

  1. 404.php
  2. index.php

На нашу думку, варто витратити час на створення сторінки помилок, що настроюється, якщо на вашому сайті великий трафік. Таким чином, ваші користувачі не будуть налякані в тих поодиноких випадках, коли з'явиться помилка.

Ієрархія шаблонів WordPress у дії

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

Уявіть, що ви створили сайт, який включає домашню сторінку, кілька статичних сторінок і безліч записів. Ви також використовуєте тему, що настроюється, яка включає в себе ці файли шаблонів:

  • index.php
  • home.php
  • page.php
  • archive.php
  • category.php

Це невелика та акуратна колекція файлів шаблонів, але її більш ніж достатньо для роботи сайту. У разі, якби ви відвідали домашню сторінку, WordPress завантажив би шаблон home.php.

Нижче наведено приклади інших сторінок, які ви можете відвідати, та файли шаблонів, які вони використовуватимуть:

  • Випадковий запис завантажив би index.phpяк файл шаблону, тому що в ієрархії, що розглядається, немає інших шаблонів.
  • Будь-яка відвідувана категорія використовуватиме файл шаблону category.phpоскільки такий шаблон WordPress є в наявності. Якби його не було, WordPress замість нього завантажив би archive.php.
  • Ваші статичні сторінки використовуватимуть page.php, але вони за замовчуванням переходитимуть до index.phpякщо перший файл не буде доступний.
  • Оскільки серед шаблонів немає сторінки з помилкою, WordPress використовуватиме index.phpяк шаблон у цій ситуації.

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

Висновок

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

У вас є питання про ієрархія шаблонів WordPress та їхню роботу на вашому сайті? Задайте питання у розділі коментарів нижче!

Привіт друзі. Дуже часто відповідаючи на запитання читачів доводиться стикатися з тим, що ставлячи питання про різний функцій тем або плагінів, багато хто навіть не уявляє основну структуру свого сайту на сервері. Це дивно, але факт. У цій статті ми розглянемо базову найважливіших, стандартних папок WordPress, приділяючи особливу увагу кореневим файлам, на основі яких власне і працює ваш сайт.

Структура директорій WordPress

Файлова структура WordPress є дуже простою. У вас є папка public_html, де знаходяться як правило три ключові папки, а так само безліч інших важливих файлів, включаючи wp-config.phpі .htaccess

Щоб отримати доступ до файлів та папок, ви можете використовувати файловий менеджер cPanel від вашого хостинг-сервісу або будь-який звичайний

Для цього огляду ми будемо використовувати найпопулярніший ftp-клієнт – FileZilla. Ось як має виглядати папка public_htmlвсередині:

Перш ніж ми розпочнемо розгляд цих трьох топових папок, давайте розглянемо файли, які лежать усередині public_html просто так. Перш за все це.htaccess, за допомогою якого ви можете контролювати структуру постійних посилань, файлів та папок, а також керувати правами доступу до них у вашій інсталяції WordPress. Ось як виглядає стандартний файл .htaccessбез будь-яких змін:

# BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %(REQUEST_FILENAME) !-f RewriteCond %(REQUEST_FILENAME) !-d RewriteRule . /index.php [L]# END WordPress

Потім є файл , який за умовчанням представляє вашу домашню сторінку, якщо, звичайно, він не заміщений сторінками типу front-page.phpабо home.php:

Ще один необхідний файл у цій директорії – це wp-config.php. Цей файлдозволяє встановити базову конфігурацію WordPress, включаючи налаштування для бази даних MySQL, секретні ключі, та інформацію про префікс бази даних. Ось як повинні виглядати налаштування вашої бази даних:

// ** MySQL settings - Ви можете отримати цей info з вашого web host ** // /** Name of the database for WordPress */ define("DB_NAME", "notarealname"); /** MySQL database username */ define("DB_USER", "notarealuser"); /** MySQL database password */ define("DB_PASSWORD", "notarealpassword"); /** MySQL hostname */ define("DB_HOST", "localhost");

Інші примітні файли у цій директорії – це wp-activate.php, і wp-signup.php, які всі разом відповідають за реєстрацію, авторизацію та процес підтвердження користувальницької реєстрації. Файл wp-comments-post.phpвідповідає за функцію коментування та запобігання дуплікації контенту, у той час як wp-settings.phpвідповідає за встановлення деяких WordPress-змінних.

Як відомо з назви папки, тут лежить інструментарій адміну. Наприклад, admin.php(серце цієї папки) дозволяє вам зв'язати інсталяцію з базою даних, відображає панель управління WordPress та пропонує інші ключові функції, такі як, наприклад, перевірка того, чи є користувач адміністратором. Якщо користувач є адміном, то вмикається використання файлу wp-load.php, який у свою чергу завантажує файл wp-config.php:

/** * In WordPress Administration Screens * * @since 2.3.2 */ if (! defined("WP_ADMIN")) ( define("WP_ADMIN", true); ) if (! defined("WP_NETWORK_ADMIN")) define( "WP_NETWORK_ADMIN", false); if (! defined("WP_USER_ADMIN")) define("WP_USER_ADMIN", false); if (! WP_NETWORK_ADMIN && ! WP_USER_ADMIN) ( define("WP_BLOG_ADMIN", true); ) if (isset($_GET["import"]) && !defined("WP_LOAD_IMPORTERS")) define("WP_LOAD_IMER require_once(dirname(dirname(__FILE__)) . "/wp-load.php");

Якщо ви звернете увагу на назви даних файлів, то зрозумієте, що більшість з них говорять користувачеві про функції, які вам знайомі по адмінці WordPress. Наприклад, profile.phpвиводить екран адміністрування користувача профілю, theme-install.phpконтролює панель установки тим, plugin-install.phpробить те саме для панелі установки плагінів.

Що стосується інших важливих папок усередині wp-admin, то imagesзаповнені картинками, що використовуються в адміністративній панелі WordPress, css та js– це «будинки» для CSS-коду та JavaScript-скриптів, а networkвключає PHP-файли, необхідні для роботи мультисайтів WordPress

Ймовірно, саме тут ви проводите більшу частину свого часу, працюючи з WordPress, тому що тут зібрані файли та функції, що найбільш використовуються, а саме, теми і плагіни:

Кожен завантажений вами плагін має свою власну папку у цій спільної папки, Як видно з прикладу вище. Контент кожної папки, очевидно, варіюється від плагіна до плагіна. Ось, наприклад, як виглядає папка популярного плагіна Akismet.

Якщо у вас виникли якісь , слід скористатися FTP-доступом для відключення розширень. Зробити це можна видаливши або просто тимчасово перейменувавши папку з конфліктним плагіном.

Так само, як і у випадку з плагінами, кожна тема має власні підпапки. Якщо ми відкриємо папку з будь-якою темою, побачимо там безліч PHP-файлів, які всі разом створюють зовнішній виглядта структуру вашої теми. Візьмемо знамениту тему Divi від Elegant Themes як приклад, у головній папці якої ми знайдемо файли , a functions.php, a sidebar.php, і style.css, Серед інших. Divi також має окремі папки для css, картинок та js теми, що дуже стандартно для більшості якісних тем. Але, як би там не було, деякі інші папки є досить унікальними, наприклад, epanelі et-pagebuilder:

Ще одна папка – це wp-includesі вона досить велика. wp-includesмістить усі файли, які не увійшли до описаних раніше папок. Умовно кажучи, саме завдяки цій папці сайт працює як годинник.

Папка така важлива, тому що тут знаходиться більшість файлів WordPress-ядра. Нова інсталяція WordPress містить 140 різних файлів у головній директорії та 14 різних папок (на момент написання статті), включаючи сертифікати, шрифти, js та віджети.

Але ці підпапки не такі важливі, як файли, які знаходяться в головній директорії, наприклад, functions.php. Цей маленький файл є важливою частиною ядра WordPress, так як він містить безліч різних функцій, які і дозволяють WordPress стабільно працювати. Наприклад, дані рядки коду - це перше, що ви побачите, якщо відкриєте цей файл, і ця функція необхідна, щоб трансформувати дані в інші формати.

/** * Convert given date string in different format. * * $format should be either a PHP date format string, e.g. "U" для Unix * timestamp, або "G" для Unix timestamp припускається, що $date is GMT. * * Якщо $translate є true the given date and format string will * be passed to date_i18n() for translation. * * @since 0.71 * * @param string $format Format of the date to return. * @param string $date Date string to convert. * @param bool $translate Whether the return date should be translated. Default true. * @return string|int|bool Formatted date string або Unix timestamp. False if $date is empty. */ function mysql2date($format, $date, $translate = true) ( ​​if (empty($date)) return false; if ("G" == $format) return strtotime($date . " +0000"); $i = strtotime($date); if ("U" == $format) return $i; if ($translate) return date_i18n($format, $i); else return date($format, $i); )

Інші ключові файли – це cache.php(керує процесом додавання та видалення даних з кешу, а також за відповідає за його закриття або перезапуск), links.php (функціональність, яка відповідає за посилання WordPress) та version.php (відповідає за версію WordPress).

Дуже сподіваюся, що дана стаття дозволить новачкам отримати базові уявлення та знання щодо структури вашого сайту на WordPress. Погодьтеся - не кожному водієві потрібно бути автомеханіком, але представити де в авто знаходиться мотор, а де підвіска, стоїть усім, хто за кермом. Ну це так, до слова 🙂

У цьому записі буде збиратися інформація про структуру WordPress у тому чи іншому сенсі. Структурі бази даних та таблиць у базі даних - навіщо вони і що в них зберігатися. Структура папок, які файли в них знаходяться, призначення цих файлів і каталогів. Список ролей, функцій та інше.

Інформацію переніс із запису "WordPress нотатки, хитрощі та хакі", який настільки розрісся, що його потрібно вже дробити.

  • Адміністратор (Administrator)- абсолютний доступ до управління темами, користувачами, плагінами, налаштуваннями, сторінками, записами, категоріями, коментарями, експорт-імпорт контенту.
  • Редактор- редагування, створення, видалення свого та чужого контенту, модерація коментарів, редагування категорій, видалення, редагування, публікація своїх та чужих сторінок, записів, завантаження файлів.
  • Автор (Author)- створення, редагування, публікація та видалення лише свого контенту – записів. Не можна створювати сторінки. Має право на завантаження зображень, файлів та будь-яких матеріалів.
  • Учасник (Contributor)- може додавати новий контент – запис, без права публікації. Може редагувати та видаляти свої чернетки. Не може додавати зображення до запису лише через використання HTMLкоду, де буде посилання на зображення. Учасники також можуть бачити записи в консолі.
  • Передплатник (Subscriber)- можна дозволити передплатникам бачити приватні записи та сторінки без додаткових плагінів чи коду.

Структура таблиць у базі даних Wordpress:

  • wp_commentmeta – для метаданих коментарів
  • wp_comments – коментарі
  • wp_links – застаріла; зберігає інформацію, введену в розділ посилання WordPress
  • wp_options – все, що знаходиться в розділі Параметри панелі адміністратора, зберігається в цій таблиці, налаштування сайту
  • wp_postmeta – метадані записів
  • wp_posts – записи, сторінок, їх ревізії та навігаційні пункти
    • id - записи, сторінки, ревізії
    • post_author – id користувача – автора.
    • post_date - дата посту
    • post_date_gmt - дата поста в GMT
    • post_content - вміст поста
    • post_title - title поста
    • post_excerpt – опис посту
    • post_status – статус поста: publish, draft, auto-draft, inherit
    • comment_status – "open" якщо коментування посту дозволено та "closed" якщо заборонено.
    • ping_status
    • post_password - пароль для читання посту, якщо він захищений паролем
    • post_name - аліас поста, який буде використовуватися в посиланнях ЧПУ.
    • to_ping
    • pinged
    • post_modified - дата останньої модифікації посту
    • post_modified_gmt - дата останньої модифікації поста у GMT
    • post_content_filtered
    • post_parent - id батьківського запису поста, якщо батька немає, то значення 0
    • guid – URL записи у вигляді http://сайт/?p=id для постів або http://сайт/category/test/name – для сторінок
    • menu_order – нуль для посту, порядковий номер сторінки, що використовується для визначення порядку виведення сторінок
    • post_type - тип запису, можливо: post - запис, page - сторінка, revision - збережена версія сторінки або запису, attachment - медіа, наприклад сторінка зображення
    • post_mime_type
    • comment_count - кількість коментарів до посту
  • wp_terms – в основному містить інформацію з терм/таксономії (рубрика, рубрика посилань, мітка, меню)
    • term_id – id терма (наприклад категорії)
    • name - ім'я терма
    • slug - як терм буде писатися у засланні
  • wp_term_relationships – відносини між записами та рубриками, мітками та іншими таксономіями
    • object_id - id записи, посилання
    • term_taxonomy_id - id рубрики або іншого терму таксономії (рубрика, рубрика посилань, мітка)
    • term_order - використовується для сортування
  • wp_term_taxonomy – описує якого типу той чи інший терм
    • term_taxonomy_id - id таксономії
    • term_id - id терма
    • taxonomy - тип таксономії: category, link_category, post_tag, nav_menu
    • parent - батьківський терм, якщо, наприклад, категорія вкладена в категорію
    • count - кількість об'єктів (записів, посилань) пов'язаних із таксономією
  • wp_usermeta – права користувачів та додаткова інформація про зареєстрованих користувачів
  • wp_users – всі користувачі

Структура файлів Wordpress

Кореневий каталог містить такі папки та файли папки:

  • wp-config.php- у цьому php файлі прописані ім'я та пароль бази даних, кодування, префікс таблиць, мова, розмір кеша, у файл можна додати багато інших параметрів.
  • Файл.htaccess- файл додаткової конфігурації веб-сервера Apache, а також подібних до нього серверів. Дозволяє ставити велика кількістьдодаткові параметри та дозволи для роботи веб-сервера в окремих каталогах.
  • wp-includes- ядро ​​Wordpress. Під час кожного оновлення папка перезаписується.
  • wp-admin- CSS, JavaScript та PHP файли, які забезпечують роботу адмін-консолі. Під час кожного оновлення папка перезаписується.
  • wp-content- містить користувацькі папкиі складається з папок:
    • languages ​​- містить файли перекладу движка у форматі.mo і.po
    • plugins - встановлені плагіни
    • themes- встановлені шаблони, повинен бути встановлений хоча б один шаблон. Може містити такі папки та файли:
      • index.php - шаблон головної сторінкисайту також підвантажує файл сайдбара. Обов'язковий файл у корені папки шаблону
      • style.css - обов'язковий файл, що відповідає за css-стилі шаблону, в корені папки шаблону
      • header.php – файл, який відповідає за виведення даних у розділі та верхнього меню
      • sidebar.php - файл відповідає за генерацію бічних (додаткових) колонок. Здебільшого тут виводяться рубрики, теги, банери.
      • footer.php – файл відповідає за виведення підвалу, нижнього меню, копірайтів та закриває HTML-теги
      • single.php – відповідає за відображення окремих постів.
      • page.php – відповідає за відображення окремих сторінок (наприклад, «Контакт», «Про нас» і т.д.)
      • archive.php – відповідає за виведення сторінки архіву записів
      • category.php – формує сторінки, що виводить публікації за категоріями
      • tag.php – шаблон сторінки, яка виводить список публікацій за тегами
      • comments.php – файл описує відображення коментарів
      • functions.php – додатковий файлз PHP-кодом, завдяки якому можна включати або вимикати, додавати або прибирати певний функціонал. У цей файл часто додається код користувача, якщо потрібно щось удосконалити.
      • /css/ - у цій папці можуть бути додаткові css-файли
      • /js/ – папка із файлами JavaScript
      • /images/ - папка містить вбудовані шаблон зображення
      • /languages/ - папка містить файли перекладів теми
    • uploads - медіа-файли: зображення, музка, документи та ін.

Теги шаблонів у WordPress

Теги шаблонів - це PHP-функції WordPress для виведення інформації або для налаштування блогу, наприклад wp_list_pages() - виводить список сторінок у вигляді посилань.

У самому Wordpress теги шаблонів описані в наступних файлах:

  • wp-includes/author-template.php - теги шаблонів, пов'язані з автором
  • wp-includes/bookmark-template.php - теги шаблонів, пов'язані із закладками
  • wp-includes/category-template.php - теги шаблонів про всі умови та таксономії, у тому числі категорії та теги
  • wp-includes/comment-template.php - файл для тегів шаблонів відділу коментарів
  • wp-includes/link-template.php - теги шаблонів для посилань (постійні посилання, посилання прикріплення, архівні посилання тощо)
  • wp-includes/nav-menu-template.php - теги шаблонів для меню навігації
  • wp-includes/post-template.php - теги шаблонів, пов'язані з постами
  • wp-includes/post-thumbnail-template.php - файл для тегів шаблонів, пов'язаних із мініатюрами записів
  • wp-includes/general-template.php - файл для інших тегів шаблонів, які можуть використовуватися будь-де
Сподобалась стаття? Поділіться з друзями!
Чи була ця стаття корисною?
Так
Ні
Дякую за ваш відгук!
Щось пішло не так і Ваш голос не було враховано.
Спасибі. Ваше повідомлення надіслано
Знайшли у тексті помилку?
Виділіть її, натисніть Ctrl+Enterі ми все виправимо!