0

在子页面上,我想查询父页面的一些自定义字段以及显示父页面的所有子页面?(理想情况下,在子页面列表中,我应该能够识别它当前位于哪个子页面)

这是我正在使用的代码

<?php if($post->post_parent): 
$parent = get_post($post->post_parent);
?>
<h2><?=$parent->address;?></h2>
<? parent->get('address');?>
<?php endif; ?>
4

1 回答 1

1

这应该可以帮助您入门:

<?php
global $post;
if($post->post_parent): 
$parent = get_page($post->post_parent);
?>
<h2><?php echo get_post_meta($post->post_parent, 'address', true); ?></h2>
<?php 
$args = array(
    'child_of'     => $post->post_parent,
    'title_li'     => '',
    'echo'         => false,
    'sort_column'  => 'menu_order, post_title',
);
$children = wp_list_pages($args); //RETURNS HTML OF ALL CHILD PAGES
endif;
?>

我猜你的意思是在你可以查询的父页面中有一个名为“地址”的自定义字段。否则,请澄清“地址”的含义(如果它是自定义元字段、主题选项或其他内容)。

警告: $children 变量只会获取其匹配父级的后代。不是它的顶级祖先。这意味着如果当前页面是孙页面或曾孙页面,则父页面将是另一个页面的子页面。

如果您想获取顶级祖先,我已经编写了一个递归执行此操作的函数,但它非常难看。我建议不要走那条路。

编辑:使用 get_page(),而不是 get_post()。帖子不是分层的。

于 2012-04-24T18:50:57.657 回答