我有一个脚本,该脚本在父页面上显示子页面列表,而在没有当前子页面的情况下显示o子页面列表。
我想在子页面上添加父页面,但是我不知道如何实现。你能帮我吗?
这是我的代码:
if ('page-parent') {
echo '<h3>See also</h3>';
// if we are on a parent page set the $parent variable to current post id
// otherwise set $parent variable to current post parent
$parent = $post->post_parent == 0 ? $post->ID : $post->post_parent;
// if we use current post parent as $parent, exclude the current page
$exclude = $parent == $post->post_parent ? $post->ID : false;
// get all the children
$args = array( 'parent' => $parent, 'sort_column' => 'menu_order' );
if ( $exclude ) $args['exclude'] = $exclude;
$child_pages = get_pages($args);
// show only if there are children
if ( ! empty($child_pages) ) {
global $post;
foreach ( $child_pages as $post ) { setup_postdata( $post );
?>
<div class="child-thumb">
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
</div>
<?php
}
wp_reset_postdata();
}
}
答案 0 :(得分:1)
您需要使用'child_of'参数而不是'parent'。 get_pages中的“ parent”表示要获取或不获取父页面。 但是您的案例需要获取给定页面的子代。
因此您必须使用
$args = array( 'child_of' => $parent,
'sort_column' => 'menu_order' );
要在孩子上方显示一个父页面,可以使用get_post函数:
if ($post->post_parent>0){
$parent_page=get_post($post->post_parent);
echo '<div>'.$parent_page->post_title.'</div>';
}
if ( ! empty($child_pages) ) {
///and so on...
有关更多信息:https://codex.wordpress.org/Function_Reference/get_pages