循环以从自定义POST类型的父元素中提取内容

时间:2012-03-18 作者:JCHASE11

我创建了一个称为“电影”的分级自定义帖子类型它是分层的,因此可以有子元素。

我在我的单部电影中使用了条件语句。php显示父页面与子页面的不同内容,如下所示:

<?php if( $post->post_parent != 0 ) {
    echo "Press Page";
} else {
    echo "Film Page";
} ?>
在页面是子页面的情况下,我希望使用自定义wordpress循环,该循环遍历其父内容。我猜我需要使用类似的循环(对于孩子):

<?php $posts = query_posts(\'&post_parent=0\'); ?>
<?php while(have_posts()) : the_post(); ?>

wordpress content

<?php endwhile; ?>
这工作不正常。我需要它拉任何内容,我希望(自定义字段,标题,特色图片等)从它的父母。知道我如何修改这个循环以从其父循环中提取内容吗?

2 个回复
SO网友:mor7ifer

使用以下命令将查询从查询当前页面更改为查询当前页面的父级:

query_posts( \'p=\'.$post->post_parent  );
这将改变$wp_query 对象仅保留当前帖子的父级。

注意:这未经测试。

更新也可以使用自定义WP_Query 因此:

$args = array(
    \'p\' => $post->post_parent
);
$parent = new WP_Query( $args );

while( $parent->have_posts() ) : $parent->the_post();
    // loop stuff here
endwhile;

SO网友:JCHASE11

使用get-post-meta提取父自定义字段:

对于图像:

<?php

$image = wp_get_attachment_image_src(get_post_meta($post->post_parent, \'custom-field-key\', true));
echo \'<img src="\' . $image[0] . \'" />\';
?>
对于文本自定义字段:

<?php $variable = get_post_meta($post->post_parent, \'custom_field_name\', true); ?>

结束

相关推荐

simply loop through posts

我知道这是一个真正的新手问题,但我似乎无法从帖子中获得循环。它所做的只是从页面本身中提取。我制作了一个模板并添加了循环。<?php if( have_posts() ) { while( have_posts() ) { the_post(); ?> <h2><?php the_title(); ?></h2> <?php } } ?>