Цикл wordpress, seo маяк
цикл WordPress
Зізнаюся, що насправді я планував написати пост зовсім на іншу тему, але в процесі зрозумів, що спочатку мені необхідно розтлумачити поняття the loop (в перекладі з англ. - петля або цикл).
А так як тема циклів WordPress досить велика, мені довелося змінити плани і почати писати нову статтю. До речі таке у мене трапляється вже не в перший раз.
Отже, що таке цикл WordPress?
Цикл WordPress - це повторювані дію, під час якого виконуються певні функції, що відповідають за взаємодію з базою даних і виведення інформації (постів) на екран.
Звичайно загальне визначення не дає ясного розуміння цього процесу. Візьмемо для прикладу головну сторінку блогу, на якій виводяться анонси записів.
Ви ніколи не замислювалися, яким чином WordPress виводить ті самі анонси і чому на сторінці відображаються 5 і більше превьюшек?
Для того, щоб спробувати дати зрозуміле пояснення того, як працює цикл WordPress, давайте розберемося з процесами, які відбуваються в глибині свідомості WordPress, коли користувач відкриває головну сторінку Вашого блогу. Поїхали!
У файлі index.php, а саме цей файл відповідає за головну сторінку будь-якого блогу, стандартний цикл починається з рядків:
І закінчується рядками:
Конструкція if в PHP задає умову для виконання сценарію, виходячи з якого будуть виконуватися всі дії (if можна перевести, як «Якщо»). Даний сценарій включає в себе дві умови.
Цикл робить певну кількість витків, поки не дійде до останнього запису, кількість яких регулюється настройками WordPress (за замовчуванням десять записів).
Умова №2. ЯКЩО відповідь БД негативний (тобто, функція відразу повертає значення false), це означає, що в БД не було виявлено записів, які відповідають запиту і цикл не запуститься.
У цьому випадки вступає в силу друга умова, яке «включається» за допомогою виразу else (можна перевести, як «Иначе»).
ІНАКШЕ відкриється сторінка помилки 404 і на екран буде виведено повідомлення, на кшталт: «На жаль, по Вашому запиту нічого не знайдено».
І нарешті, вираз endif завершує виконання сценарію.
Тепер давайте повернемося як умові №1 і більш детально розберемо все що відбуваються в ньому події.
Анатомія циклу WordPress. Функція the_post () і змінна $ post
Функція the_post () вступає в взаємодію з глобальної змінної $ post і отримають від неї все необхідні дані, які надалі передає в браузер користувача.
Напевно у багатьох виникло питання, а що таке глобальна змінна? Думаю про це треба розповісти по-подробней. Але перш за все необхідно зрозуміти, що таке змінна в принципі.
На замітку! Змінна - це якийсь контейнер, в який поміщаються дані, необхідні для роботи тих чи інших функцій.
Змінні в PHP можуть бути трьох типів: локальні, глобальні і статичні.
Локальні змінні створюються безпосередньо всередині функції і дані, занесені в них, призначаються для роботи тільки тієї функції, в якій вони були створені і не можуть бути використані за її межами.
Глобальні змінні - це змінні, які оголошуються в чи не тіла якоїсь конкретної функції, тому можуть поширяться і на інші функції, але в рамках певної програми.
Статичні змінні на відміну від локальних і глобальних не затертого при виході їх функцій, але поширюють свою дію тільки в межах певної блоку коду або файлу.
У нашому випадки, даною програмою є цикл WordPress. Як я вже говорив раніше, цикл можна створити за допомогою різних функцій і в роботі всіх цих функцій допускається використання змінної $ post. Сподіваюся зрозуміло.
Глобальна змінна $ post створюється веб-сервером і є, так би мовити, одноразової, в тому сенсі, що при кожному новому витку циклу, вона створюється заново і приймає дані наступного поста. Працює дана змінна тільки в межах циклу.
Відповідно до переліченими вище властивостями, в змінній $ post формується масив елементів, який обробляється функцією the_post () і віддається в браузер користувача.
Я розумію, що новачкам буде не просто засвоїти такий складний матеріал, але якщо згадати, як я набирався знань, збираючи інформацію по шматочках, то це докладний виклад, було б для мене просто знахідкою. Йдемо далі.
Отже, з формування циклу ми трохи розібралися, тепер давайте познайомимося з основними функціями, які працюють безпосередньо всередині циклу WordPress.
Функції циклу: the_permalink (), the_title ()
Як видно, всередині циклу розташувався тег заголовка. У кого-то це може бути тег h1, у кого-то h2 - це не суть важливо. Як відомо, заголовок в анонсі статті є посиланням, тому в ньому присутня конструкція:
А ось що це за функція прописана замість посилання? У WordPress передбачений цілий ряд функцій, які можуть працювати тільки всередині циклу. Саме такою функцією є the_permalink ().
Крім всіх перерахованих вище даних, які містяться веб-сервером в змінну $ post, в базі даних є і інші корисні відомості, наприклад абсолютний URL записи.
Отже, запустився цикл і зробив свій перший виток і функція the_permalink () виводить посилання на поточний пост, який в даний момент знаходиться в циклі. Коли цикл робить наступний виток і на обробку надходять дані наступному записі, то функція виводить відповідний URL.
Тому функція the_permalink () і їй подібні не можуть працювати поза циклом. Сподіваюся зрозуміло.
Як анкора, в даній конструкції, виступає функція the_title (). яка працює за схожою схемою, що і функція the_permalink (), але з тією різницею, що виводить заголовок поточної записи в циклі.
Далі в коді прописана ще одна функція the_content (). яка взаємодіє з тегом more і обрізає поточний запис в циклі. Якщо в поточному записі не буде виявлений тег more. то пост буде виведений цілком.
Замість the_content () в коді може працювати інша функція - the_excerpt (). яка також здатна обрізати текст, але працює за іншим принципом.
Як я вже сказав раніше, існує цілий ряд функцій, які можуть працювати в циклі і якщо знати як їх використовувати, то можна значно поліпшити функціонал сайту, а також зробити його більш привабливим. У наступній статті я розповім про одну таку функції, яка називається the_post_thumbnail () і відповідає за виведення зображень в циклі.
З повагою, Віталій Кирилов