在子页面上,我想查询父页面的一些自定义字段,以及显示父页面的所有子页面? (理想情况下,在子页面列表中,我应该能够识别它当前所在的子页面)
这是我正在使用的代码
<?php if($post->post_parent):
$parent = get_post($post->post_parent);
?>
<h2><?=$parent->address;?></h2>
<? parent->get('address');?>
<?php endif; ?>
答案 0 :(得分: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;
?>
我猜你的意思是在你可以查询的父页面中有一个名为'address'的自定义字段。否则,请通过“地址”澄清您的意思(如果它是自定义元字段,主题选项或其他内容)。
警告:$ children变量只会抓取其匹配父级的后代。不是它的顶级祖先。这意味着如果当前页面是孙子或曾孙,则父页面将是另一页面的子页面。
如果你想抓住那个顶级祖先,我已经编写了一个递归执行此功能的函数,但它非常难看。我建议不要走那条路。
编辑:使用get_page(),而不是get_post()。帖子不是分层的。