WordPress 调用当前Page页面下的子页面(含标题 链接 缩略图)
使用 WordPress 程序建设网站时,有时需要在网站的侧边栏调用当前页面下的子页面,来实现如下图的效果。W…
使用 WordPress 程序建设网站时,有时需要在网站的侧边栏调用当前页面下的子页面,来实现如下图的效果。WordPress 调用当前页面下的子页面的方法很简单,只需要将以下的代码放在相应的位置即可调用出当前页面下的子页面的标题及链接列表。
-
<?php
-
if($post->post_parent)
-
$children = wp_list_pages("title_li=&child_of=".$post->post_parent."&echo=0");
-
else
-
$children = wp_list_pages("title_li=&child_of=".$post->ID."&echo=0");
-
if ($children) {
-
echo "<ul>";
-
echo $children;
-
echo "</ul>";
-
} ?>
超灵活的用法,很实用。
-
<?php
-
$pageArray = get_post_ancestors($post->ID);//获取父页面ID
-
-
if($pageArray[0] != ''){
-
$pageid = $pageArray[0];
-
}else{
-
$pageid = $post->ID;
-
}
-
-
$pages = get_pages('child_of='.$pageid.'&sort_column=post_date&sort_order=desc&parent='.$pageid);
-
foreach($pages as $page){
-
-
echo '<li><a href="' . get_page_link($page->ID) . '">' . $page->post_title.'<span class="menu_head">+</span></a></li>';
-
-
} ?>
上面的代码可以调用出当前页面下子页面的标题和链接列表,如果想调用缩略图和内容就需要用下面的代码了。
-
<?php
-
$pages = get_pages('child_of='.$post->ID.'&sort_column=post_date&sort_order=desc&parent='.$post->ID);
-
foreach($pages as $page){
-
$content = $page->post_content;
-
?>
-
<li>
-
特色图像:<?php echo get_the_post_thumbnail($page->ID); ?>
-
输出标题:<?php echo $page->post_title; ?>
-
输出内容:<?php echo $content; ?>
-
输出链接<a href="<?php echo get_page_link($page->ID); ?>">阅读全文</a>
-
</li>
-
<?php } ?>
上面调用缩略图的代码只是输出的为整个 img 标签,不能输出纯图片地址,如果想输出单独的图片地址,可以用下面的优化改的代码,这在做懒加载时很适用。
-
<?php
-
$pages = get_pages('child_of='.$post->ID.'&sort_column=post_date&sort_order=desc&parent='.$post->ID);
-
$post_thumbnail_id = get_post_thumbnail_id($post->ID);
-
foreach($pages as $page){
-
$content = $page->post_content;
-
?>
-
特色图像URL:<?php echo get_the_post_thumbnail_url($page->ID); ?>
-
输出标题:<?php echo $page->post_title; ?>
-
输出内容:<?php echo $content; ?>
-
输出链接<a href="<?php echo get_page_link($page->ID); ?>">阅读全文</a>
-
<?php } ?>
如果要调用指定页面下的子页面,可以使用下面的调用代码:
-
<?php wp_list_pages('hide_empty=0&child_of=5&title_li='); ?>
除此之外,我们还可以实现 wordpress 调用当前分类的子分类。
类别:WordPress教程、
本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。
还没有任何评论,赶紧来占个楼吧!