Когда Wordpress сделал запрос к базе данных, должен был образоваться глобальный объект $wp_query. Предлагаю прямо сейчас проверить, так ли это на самом деле.
Я буду вносить изменения сразу в стандартную тему Wordpress, которая называется twentyfourteen. Хотя подобные эксперименты вы можете произвести на любой другой теме.
Открываю файл index.php и где-то вот в этой части:
<?php /** * The main template file * * This is the most generic template file in a WordPress theme and one * of the two required files for a theme (the other being style.css). * It is used to display a page when nothing more specific matches a query, * e.g., it puts together the home page when no home.php file exists. * * @link http://codex.wordpress.org/Template_Hierarchy * * @package WordPress * @subpackage Twenty_Fourteen * @since Twenty Fourteen 1.0 */ get_header(); ?> <div id="main-content" class="main-content"> <?php if ( is_front_page() && twentyfourteen_has_featured_posts() ) { // Include the featured content template. get_template_part( 'featured-content' ); } ?> <div id="primary" class="content-area"> <div id="content" class="site-content" role="main"> <?php echo "<pre>"; print_r($GLOBALS); echo "</pre>";
Добавляю следующий код:
echo "<pre>"; print_r($GLOBALS); echo "</pre>";
Больше моих уроков по Worpdress здесь.
С помощью этого кода вы можете увидеть , какие глобальные объекты, переменные или массивы у нас имеются.
Содержимое будет выведено на главной странице и выглядеть это будет примерно вот так:
Если подробно изучить этот массив данных, то вы можете в нем обнаружить тот самый глобальный объект $wp_query.
В нем содержатся все данные, которые нужно отобразить на странице и дополнительная служебная информация.
Давайте уберем лишнее и оставим только содержимое объекта $wp_query. Для этого изменим код на следующий.
echo "<pre>"; print_r($wp_query); echo "</pre>";
В объекте $wp_query находится довольно много служебной информации, но если вы подробно разберетесь со всем этим, то можете увидеть, что все то, что должно быть выведено на страницу, храниться в массиве $posts.
Именно этот массив будет использован циклом Wordpress для того, чтобы вывести нужные данные на странице. Об этом чуть позже в следующих заметках.
Давайте теперь рассмотрим содержимое уже конкретно этого массива. Для этого изменим код на следующий:
echo "<pre>"; print_r($posts); echo "</pre>";
Точно также получить доступ к переменной $posts можно так:
echo "<pre>"; print_r($wp_query->posts); echo "</pre>";
Если вы все сделали правильно, то у вас на странице будет примерно такая картина:
В этом массиве содержаться данные о всех заметках, которые должны будут выведены на страницу, которую вы запросили.
Именно с этим массивом мы будем работать, когда будем разбирать, как работают циклы Wordpress.
Больше моих уроков по Worpdress здесь.
Чтобы оставить сообщение, зарегистрируйтесь/войдите на сайт через:
Email - зарегистрироваться / войти