我创建了一个名为“电影”的分层自定义帖子类型。它是分层的,因此它可以有子元素。
我在single-films.php中使用条件语句来显示来自子页面的父页面的不同内容,如下所示:
<?php while(have_posts()) : the_post(); ?>
<?php if( $post->post_parent != 0 ) {
echo "Child Page";
} else {
echo "Film Page";
} ?>
<?php endwhile; ?>
在页面是子页面的情况下,我想使用在父页面上输入的值,而不是子页面。因为已经创建了循环,所以我需要找到一种方法从子页面上的父页面中提取内容。我需要它从它的父母那里拉出我想要的任何内容(自定义字段,标题,特色图片等)。知道如何修改这个循环以从其父级中提取内容吗?
答案 0 :(得分:4)
Wordpress有一个很好的get_post函数,您可以像这样使用它来获取父级的标题,例如:
<?php
if ($post->post_parent != 0) {
$parent = get_post($post->post_parent);
echo $parent->post_title;
} ?>
您可以通过其键/名称和父母的帖子ID访问任何自定义字段:
<?php
$image = wp_get_attachment_image_src(get_post_meta($post->post_parent, 'custom-field-key', true));
echo '<img src="' . $image[0] . '" />';
?>
这适用于Wordpress的Advanced Custom Fields插件。
答案 1 :(得分:1)
我知道这有点晚了但是它确实适用于ACF
,但它只会抓取缩略图(裁剪图像)。要获得完整的完整图像,您需要稍微修改一下代码。
<?php
$image = wp_get_attachment_image_src(get_post_meta($post->post_parent, 'custom-field-key', true), 'full');
echo '<img src="' . $image[0] . '" />';
?>
玩得开心。
认为这可能会对将来有所帮助。