因此,基本上,我有一个带有子类别页面的主父页面,其中每个子类别页面都有子页面,并且使用提供的代码,它可以很好地显示每个带有子项的父页面。
我想知道可以完全控制列表,因为仅对于父选项卡,我想使用ACF(高级自定义字段)添加图像,这意味着CMS中的父页面是否具有徽标( $tab_logo = get_field('parent_tab_logo');
)将其添加到具有父名称的列表中。
代码:
<?php
// find parent of current page
if ($post->post_parent) {
$ancestors = get_post_ancestors($post->ID);
$parent = $ancestors[count($ancestors) - 1];
//Display Parent post Title
$parent_post_id = $parent;
$parent_post = get_post($parent_post_id);
$parent_post_title = $parent_post->post_title;
} else {
$parent = $post->ID;
}
$children = wp_list_pages("sort_order=asc&title_li=&child_of=" . $parent . "&echo=0");
if ($children) { ?>
<div id="side" class="col-lg-4 col-md-4 col-sm-12">
<h4><?php echo $parent_post_title; ?></h4>
<div class="row">
<div class="col-lg-10 col-md-12 col-sm-12">
<ul id="side-navi" class="list-unstyled mb-0 ">
<?php echo $children; ?>
</ul>
</div>
</div>
</div>
<?php } ?>
当前结果:(示例)
主要父页面
父母1(主要父母PAGE的孩子)
child1(父母1的孩子)
child2(父母1的孩子)
父母2(主要父母PAGE的孩子)
child1(父母2的孩子)
child2(父母2的孩子)
预期结果:(示例)
主要父页面
父母1(此页面中使用acf = $tab_logo = get_field('parent_tab_logo');
的图片)
child1
child2
父母2(此页面中使用acf = $tab_logo = get_field('parent_tab_logo');
的图片)
child1
child2
答案 0 :(得分:0)
这应该和ACF文档所说的一样简单。
检查父项时需要获取该字段,然后在相关部分中显示该字段,传递帖子ID也可能使您有些头疼,因此仅针对父项。
希望这会有所帮助。
<?php
$parent_image = get_field('image', $post_id);
if( !empty($parent_image) ): ?>
<img src="<?php echo $parent_image['url']; ?>" alt="<?php echo $parent_image['alt']; ?>" />
<?php endif; ?>
答案 1 :(得分:0)
您应该能够执行以下操作,在该操作中,您将父帖子ID传递到get_field()函数中。根据在ACF中设置图像的方式,可能需要更新提取图像的方式。
<?php
// find parent of current page
if ($post->post_parent) {
$ancestors = get_post_ancestors($post->ID);
$parent = $ancestors[count($ancestors) - 1];
//Display Parent post Title
$parent_post_id = $parent;
$parent_post = get_post($parent_post_id);
$parent_post_title = $parent_post->post_title;
$parent_image = get_field('parent_tab_logo', $parent_post_id);
} else {
$parent = $post->ID;
}
$children = wp_list_pages("sort_order=asc&title_li=&child_of=" . $parent . "&echo=0");
if ($children) {
?>
<div id="side" class="col-lg-4 col-md-4 col-sm-12">
<h4><?php echo $parent_post_title; ?></h4>
<?php
if( !empty($parent_image) ){
?>
<img src="<?php echo $parent_image['url']; ?>" alt="<?php echo $parent_image['alt']; ?>" />
<?php
}
?>
<div class="row">
<div class="col-lg-10 col-md-12 col-sm-12">
<ul id="side-navi" class="list-unstyled mb-0 ">
<?php echo $children; ?>
</ul>
</div>
</div>
</div>
<?php
}
?>