У движку Вордпрес є кілька корисних і, головне, вбудованих в движок, циклів-запитів, які оперують з даними із бази даних. Йдеться про функції, які роблять запити до бази даних і повертають якийсь масив контенту. І за допомогою циклу дозволяють ефективно обробляти цей масив. Ці функції також дозволяють «кастомізувати» (задавати параметри) запит до бази даних і робити вибірку тільки потрібного контенту.
Основні функції для цього: query_posts()
, get_posts()
і WP_Query()
Який контент можна ними обробляти: вибірка постів (записів), окремого запису, архів записів (по автору, за датою), вибірка записів по категорії, вибірка записів за тегами (мітками), — із зазначенням додаткових параметрів.
Після того, як функція зробила вибірку і повернула масив, контент за допомогою циклу можна вивести на екран в зрозумілому людині вигляді. Наприклад, «витягнути» з масиву і «передати» html-тегам назву посту, дату публікації, категорію запису і т.п.
query_posts()
– стандартний цикл. Це не тільки найбільш спрощений спосіб зміни основного запиту, а й також найбільш проблематичний спосіб, оскільки замінює запит його новим екземпляром (і переписує глобальні змінні $wp_query
, $post
, $posts
). Можна використовувати 1 раз на сторінці (в шаблоні). Ця функція не рекомендується з огляду на те, що робить додаткові SQL-запити до бази даних, може викликати баги, особливо при побудові сторінок з пагінацією (розбивці по сторінках). Замість цієї функції рекомендується використовувати інші методи, що розглянуті нижче.get_posts()
– додатковий цикл. Ця функція дуже схожа у використанні на попередню, може приймати ті ж параметри (за невеликими винятками), але її головна відмінність в тому, що вона повертає масив публікацій (записів), не змінюючи при цьому глобальні змінні ($wp_query
, $post
, $posts
). Використання цієї функції безпечно практично в будь-якому місці (читай – шаблоні). Можна використовувати багато разів на сторінці (в одному шаблоні). Найбільш популярний метод.WP_Query()
– додатковий цикл. Клас WP_Query
найбільш складний (попередні дві функції працюють на його основі), дозволяє задавати безліч параметрів вибірки, а головна його відмінність – він дозволяє створювати новий власний об’єкт і працювати надалі з ним. Ця функція особливо корисна, коли потрібно виводити пости, які не пов’язані з поточною сторінкою або при роботі з численними циклами. Використання цієї функції також безпечне практично в будь-якому місці (читай – шаблоні). Рекомендується використання тільки для особливих і/або складних випадків вибірки даних.
Візуально роботу функцій запитів в WordPress можна зобразити за допомогою цієї інфографіки:
Приклад використання функції get_posts()
для вибірки з бази даних 5 постів у випадковому порядку, і виведення посилань на ці пости в маркованому списку:
<ul> <?php global $post; $args = array( 'posts_per_page' => 5, 'orderby' => 'rand' ); /* постів на сторінку - 5, сортування - у випадковому порядку */ $rand_posts = get_posts( $args ); foreach ( $rand_posts as $post ) : setup_postdata( $post ); ?> <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li> <?php endforeach; wp_reset_postdata(); ?> </ul>
Сьогоднішній огляд присвячений людям, для яких важливе питання конфіденційності в Інтернеті, та хто цінує свої…
Вперше про бренд Pro Plan почули у 1986 році, коли він став частиною американської компанії…
Страх покарання гірше самого покарання (Покарання — завжди щось конкретне, і воно все ж краще,…
Якщо ви плануєте розмістити веб-сайт в мережі Інтернет, дуже важливо знайти для нього швидкий і…
Навчання за кордоном вже давно асоціюється з якісною освітою, новими можливостями та безліччю перспектив. Але…
Вибір майстра для ремонту та перетяжки меблів – завдання, яке потребує вдумливого підходу. Адже від…