Вывод дочерних страниц на родительской в WordPress
Вывод дочерних страниц на родительской обычно используется для создания списка статей или новостей.
Для того чтобы это сделать, в первую очередь нужно создать шаблон разводящей страницы. Для этого создадим обычную страницу и зададим ей url, например novosti.
После этого идем в папку темы /wp-content/themes/название_темы и создаем шаблон для своей страницы page-novosti.php.По умолчанию шаблон любой страницы называется page.php, а мы через тире указываем url нашей странички. Таким образом в шаблон данной страницы будет применен именно для страницы с адресом novosti.
В новом шаблоне делаем выборку с помощью класса WP_Query. Это класс, который позволяет получать посты из базы данных по самым разным параметрам. В данном случае следует указать в качестве параметра идентификатор родительской страницы.
Узнать значение идентификатора можно в панели администрирования из адресной строки:
1
2
3
4
5
|
$news = new WP_Query(array( //создаем экземпляр класса
'post_type' => 'page', // выбираем тип записи которые нужно показывать
'post_parent' => 1881 // выбираем родителя чьи посты показывать
)
);
|
В данном случае можно воспользоваться функцией get_the_ID(), которая возвращает ID текущей страницы вместо идентефикатора страницы.
После этих действий следует проверить, найдены ли дочерние страницы. Если они есть, то выводим их в цикле:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
<?php get_header(); ?> //подключаем шапку
<?
if($news->have_posts()) {
while($news->have_posts()){
$news->the_post(); ?>
<h2><?=get_the_title();?></h2>
<img src="<?=get_the_post_thumbnail_url( get_the_id(), 'thumbnail' );?>">
<p><?=get_the_excerpt();?></p>
<p><a href="<?=get_the_permalink();?>">Подробнее</a></p>
<?
}
}
wp_reset_query();
?>
<?php get_footer(); ?> // подключаем подвал
|
Для ограничения количества выводимых постов(если например вы хотите выводить блок новостей на главной), следует использовать параметр posts_per_page.
1
|
'posts_per_page'=>'3',
|
Для этого просто добавьте его в выборку.