Как WP получает данные постов?
Например у меня в файле шаблона index.php есть такой код
<?php if (have_posts()) : while (have_posts()) : the_post(); ?> <a href="<?php the_permalink(); ?>"> <h2><?php the_title(); ?></h2> </a> <div class="custom"> <?php the_date(); ?> опубликовал <strong><?php the_author(); ?></strong> в рубрике <?php the_category(); ?> <?php the_content(); ?> <a href="<?php the_permalink(); ?>">Читать далее</a> </div> <?php endwhile; ?> <?php endif; ?>
Не суть важно какой код, главное чтобы записи из БД выводил.
Так вот хочу я понять как же он это делает? Например беру функцию the_content() и пытаюсь, так сказать с заду наперед проследить как это работает. Но что-то я ни чего не понимаю
Вот так вот проследил и все
... <?php the_content()?> ... ./post_templates the_content() get_the_content() ./post.php get_post() class WP_POST ...magic... ./wp_db ...magic...
, а ответа не нашел, хочу проследить в коде прям от подключение к БД до того момента вывода в index.php , те как проходит весь процесс вывода постов?
Накидайте материала или вкратце весь стек вызова и что там происходит, пожалуйста!
С WP всего 3ий день, прошу простить, если вопрос глупый!
Заранее благодарен за любой ответ!
Прочитайте вот эту статью, возможно что-то проясниться.
Вот картинка, как загружается весь WordPress:
http://wp-kama.ru/wp-content/uploads/2013/12/wordpress-core-load.png
Смотрите по картинке. Когда срабатывает функция wp() (файл template-loader.php) WP определяет тип страницы и создает запрос к БД на основе типа страницы, полученные данные помещаются в глобальную переменную $wp_query и др. переменные. На основе этой переменной работает цикл:
Что касается the_content(). Она и другие функции цикла работают на основе глобальной переменной $post. Все данные берутся из нее... Например the_content(), говоря просто, её код можно записать так:
т.е. берутся данные, которые на момент вызова есть в глобальной $post обрабатываются и выводятся на экран.