0
顯示其子女作爲獨立的div
現在我有以下的PHP:如何獲得每個父頁面,並在WordPress的
<?php
$pages = get_pages(array('sort_column'=>'menu_order', 'parent'=>'0'));
foreach ($pages as $page_data) {
$content = apply_filters('the_content', $page_data->post_content);
$title = $page_data->post_title;
$slug = $page_data->post_name;
$pageid=$page_data->ID;
echo '<div class="section'.(($title=='intro')?' intro-section':"").'">';
echo $content;
echo "</div>";
}
?>
有5頁,其中2個有許多子頁面。我希望將上面的代碼進一步提升一級,以便每個頁面都有自己的包裝,並且如果頁面包含子頁面,那麼這些頁面將放置在相同的.section
內,但每個頁面都在單獨的div
內。有什麼建議?我在Wordpress方面有點缺乏經驗,所以任何幫助都會很棒。下面應該舉一個我想要的例子:
<div class="section">
<div class="page parent"></div>
</div>
<div class="section">
<div class="page parent"></div>
<div class="page child"></div>
<div class="page child"></div>
</div>
<div class="section">
<div class="page parent"></div>
</div>
下面是我正在使用的代碼。
<?php while (have_posts()) : the_post(); ?>
<?php
$pages = get_pages(array('sort_column'=>'menu_order', 'parent'=>'0'));
foreach ($pages as $page_data) {
$content = apply_filters('the_content', $page_data->post_content);
$title = $page_data->post_title;
$slug = $page_data->post_name;
$pageid=$page_data->ID;
//Put a container around every page's content
if (count(get_pages('child_of=' . $page_data->ID.''))) {
// Loop through $page_data array to print the div you want
echo '<div class="section">';
echo '<div class="slide">';
echo $content;
echo "</div>";
$children = get_pages('child_of=' . $page_data->ID.'');
foreach($children as $child) {
$childcontent = apply_filters('the_content', $child->post_content);
echo '<div class="slide">';
echo $childcontent;
echo "</div>";
}
echo "</div><!--end section-->";
} else {
echo '<div class="section'.(($title=='intro')?' intro-section':"").'">';
echo $content;
echo "</div>";
}
}
?>
<?php endwhile ?>
我試圖補充說,但我得到了一個'意外的'{'錯誤。 更新上面的帖子,以反映我有什麼。 – steve
我錯過了一個右括號。更新了代碼。請現在嘗試 –
嗯,我只是想通了! 好的,所以它檢測到它有子頁面,但它們沒有打印(即,父頁面用'div.slide'包裝,但沒有其他子頁面)。我要在'if'裏面做一個新的'while',來獲取每個子頁面嗎?我不知道該怎麼做。 – steve