Wordpress - 显示自定义帖子的内容

时间:2014-03-20 17:11:11

标签: php wordpress advanced-custom-fields

我使用高级自定义字段并为推荐设置了自定义帖子类型,在推荐页面上有一个关系字段(display_on_page),您可以在其中选择要在哪个页面上显示推荐。

问题是,在选择页面时,每个页面上都会显示推荐书

有人知道我在下面做错了吗?

<?php query_posts( 'post_type=Testimonial'); ?>
    <?php while ( have_posts() ) : the_post(); ?>

        <?php $posts = get_field('display_on_page');

        if( $posts ): ?>
            <?php the_field('the_testimonial'); ?>

            <?php wp_reset_postdata();  ?>
        <?php endif; ?>

    <?php endwhile; ?>

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您应该检查,如果您从get_field('display_on_page')获得的值与当前页面ID 匹配。 (我假设页面ID是您创建的自定义字段所存储的内容。)

如果是这种情况,您可以query your posts filtering by custom field values,例如:

<?php 

// Fetches current page ID, assuming that this is page.php or similar
$current_page_id = get_the_ID();

query_posts(
    'post_type=Testimonial',
    'meta_key' => 'display_on_page',
    'meta_value' => $current_page_id // Only gets Testimonials that are set for this page
); 

while ( have_posts() ) : the_post(); 
    the_field('the_testimonial');
endwhile;

// Resets default WP Post Data *AFTER* the loop is complete
wp_reset_postdata(); 
?>