Показывать несколько страниц одновременно в своем собственном шаблоне страницы

Я создаю одностраничный сайт. Таким образом, на главной странице отображаются сразу несколько страниц. Я заказываю по их позиции в основном меню. Все хорошо, но чтобы добиться этого более динамичным способом. Я хотел бы вывести каждую страницу в свой собственный шаблон страницы.

Возможно ли это и как мне этого добиться?

Мой подход до сих пор —
передний page.php

<?php
if (($locations = get_nav_menu_locations()) && $locations['primary']) {
$menu       = wp_get_nav_menu_object($locations['primary']);
$menu_items = wp_get_nav_menu_items($menu->term_id);
$pageID     = array();
foreach ($menu_items as $item) {
if ($item->object == 'page')
$pageID[] = $item->object_id;
}
query_posts(array(
'post_type' => 'page',
'post__in' => $pageID,
'posts_per_page' => count($pageID),
'orderby' => 'post__in'
));
}
while (have_posts()):   the_post();
//LOOP - INSERT SOLUTION HERE
//Show all pages in their own or default page template (page.php, page-portfolio.php ...)
endwhile;
?>

1

Решение

Вы можете попробовать это:

<?php
while (have_posts()):   the_post();
$page_template = get_page_template_slug( get_the_ID() );
get_template_part( basename($page_template, ".php"));
endwhile;

?>

Помните, что вы должны удалить все элементы вне цикла из этих шаблонов, поскольку вы уже предоставили это в вызывающей front-page.php. И будьте уверены, что front-page.php никогда не вызывается внутри цикла, потому что это приведет к бесконечному циклу.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]