-1

我正在尝试实现这样的目标。我试图在 2 个嵌套的转发器字段中将一个帖子对象显示为转发器。我在一个名为 page-bagels.php 的页面模板中使用这个转发器和发布对象。这 2 个中继器按预期显示 2 行作为输出。但是 post 对象没有显示或没有返回值。而是返回页面的值。就像我使用它的地方一样,它返回页面标题而不是返回帖子对象标题。我的代码如下

    <?php while ( have_posts() ) : the_post(); ?>

    <div class="main-content">
        <div class="main-wrap">


            <div class="col-sm-12">
                <div class="breadcrumbs">
                    <?php if(function_exists('bcn_display'))
                {
                    bcn_display();
                }?>
                  </div>  <!-- breadcrambs ends here -->

            </div><!-- col-sm-12 ends here -->


            <?php 

                // check for rows (parent repeater)
                if( have_rows('product_page') ): ?>

            <div class="col-lg-12 row product-row">

                <?php 

                    // loop through rows (parent repeater)
                    while( have_rows('product_page') ): the_row(); ?>

                <div class="col-sm-12">
                            <div class="marque">
                                <span class="brand-lg"><img src="<?php the_sub_field('brand_image'); ?>" /></span>
                            </div>
                        </div>


                <?php 

                            // check for rows (sub repeater)
                            if( have_rows('post_repeater') ): ?>




                <div class="col-sm-12 product-item-row">

                <?php 
                        // loop through rows (sub repeater)
                    while( have_rows('post_repeater') ): the_row();?>

                <div class="col-sm-3 product-item">


                     <?php
                        $postobject = get_sub_field('product_post'); ?>  

                    <a href="<?php $postURL = get_permalink($postobject->ID);?>">
                        <img class="product-img" src="<?php bloginfo('template_directory');?>/images/product-images/321600_moelleux_blanc_trepais.png" width="100%" />
                        <p class="product-name"><?php the_title();?></p>
                        <p class="product-seemore">See More</p>
                    </a>



                </div><!-- col ends here -->

                 <?php endwhile; ?>

                </div><!-- col Product Items row here -->

                <?php endif; //if( get_sub_field('items') ): ?>

                <?php endwhile; // while( has_sub_field('to-do_lists') ): ?>

            </div><!-- col lg 12 ends here or row ends here -->


            <?php endif; // if( get_field('to-do_lists') ): ?>

            <?php endwhile; // end of the loop. ?>  





                <div class="lnk-top">
    <a href="#"><span class="icon-arrow-up up-arrow"></span><br>Top</a>
</div>


        </div><!-- main wrap ends here -->

        <div class="clr"></div>

    </div><!-- main content ends here -->

所以在这段代码中你可以看到 post 对象也是一个转发器。所以这意味着我正在使用 3 个转发器。如果你看到代码,你会得到它

这是我得到的输出http://ahsanurrahman.com/myprojects/cms/wp/gadoua/en/bagels/

所以任何帮助表示赞赏。

4

1 回答 1

0

我能帮你修复它..请参阅下面的代码

<?php while ( have_posts() ) : the_post(); ?>

    <div class="main-content">
        <div class="main-wrap">


            <div class="col-sm-12">
                <div class="breadcrumbs">
                    <?php if(function_exists('bcn_display'))
                {
                    bcn_display();
                }?>
                  </div>  <!-- breadcrambs ends here -->

            </div><!-- col-sm-12 ends here -->


            <?php 

                // check for rows (parent repeater)
                if( have_rows('product_page') ): ?>

            <div class="col-lg-12 row product-row">

                <?php 

                    // loop through rows (parent repeater)
                    while( have_rows('product_page') ): the_row(); ?>

                <div class="col-sm-12">
                            <div class="marque">
                                <span class="brand-lg"><img src="<?php the_sub_field('brand_image'); ?>" /></span>
                            </div>
                        </div>


                <?php 

                            // check for rows (sub repeater)
                            if( have_rows('post_repeater') ): ?>




                <div class="col-sm-12 product-item-row">

                <?php 
                        // loop through rows (sub repeater)
                    while( have_rows('post_repeater') ): the_row();?>

                <div class="col-sm-3 product-item">



                     <?php
                        $postobject = get_sub_field('product_post'); 
                        $image = wp_get_attachment_image_src(get_post_thumbnail_id( $postobject->ID ),'medium');
                        //echo "<pre>";print_r($postobject); echo"</pre>";
                        $image = $image[0];
                        //$new = get_field('new_product_item');
                        //echo $image;
                        ?>  


                    <a href="<?php echo get_permalink($postobject->ID);?>">

                         <?php if ( get_field( 'new_product_item',$postobject->ID) ): ?>

                          <img class="new-label-en" src="<?php bloginfo('template_directory');?>/images/label-en.png" />
                        <img class="new-label-fr" src="<?php bloginfo('template_directory');?>/images/label-fr.png" />
                         <img class="product-img" src="<?php echo $image;?>" width="100%" height="100%" />
                         <p class="product-name"><?php echo $postobject->post_title;?></p>
                        <p class="product-seemore"><?php echo $product_details_link_text;?></p>

                    <?php else: // field_name returned false ?>


                        <img class="product-img" src="<?php echo $image;?>" width="100%" height="100%" />
                        <p class="product-name"><?php echo $postobject->post_title;?></p>
                        <p class="product-seemore"><?php echo $product_details_link_text;?></p>


                    </a>

                    <?php endif; //if( get_sub_field): ?>

                </div><!-- col ends here -->

                 <?php endwhile; ?>



                </div><!-- col Product Items row here -->

                <?php endif; //if( get_sub_field('items') ): ?>

                <?php endwhile; // while( has_sub_field('to-do_lists') ): ?>

            </div><!-- col lg 12 ends here or row ends here -->


            <?php endif; // if( get_field('to-do_lists') ): ?>

            <?php endwhile; // end of the loop. ?>  





                <div class="lnk-top">
    <a href="#"><span class="icon-arrow-up up-arrow"></span><br>Top</a>
</div>


        </div><!-- main wrap ends here -->

        <div class="clr"></div>

    </div><!-- main content ends here -->
于 2016-11-30T14:23:46.903 回答