我制作了两个页面,一个首页和一个“基本内容页面”
在这个“基本内容页面”上,我用不同的文字和图像制作了灵活的内容。
我搜索了在首页上显示最后行的方法,是否可以?
更新:这是最后一个代码,它可以使用“post object field”(名为“relation”)从另一个页面获取内容,这要归功于@Nick Surmanidze。只留下如何抓住最后一行的问题。
<?php
$post_object = get_field('relation');
if( $post_object ):
// override $post
$post = $post_object;
setup_postdata( $post );
?>
<div>
<?php
// check if the flexible content field has rows of data
if( have_rows('selection') ):
// loop through the rows of data
while ( have_rows('selection') ) :
the_row();
if( get_row_layout() == 'selectionselection' ):
?>
<div class="titre-soustitre">
<div class="menu-content" data-id="id-<?php the_sub_field('id'); ?>">
<p class="demo bis"><span class="sub"> </span></p>
<a href="#" class="expander"><h1><p class="demo title"><?php the_sub_field('title'); ?></p></h1></a>
<p class="demo bis"><span class="sub"><?php the_sub_field('subhead'); ?></span></p>
</div>
</div>
<?php
endif;
endwhile; else :
// no layouts found
endif;
?>
</div>
<?php wp_reset_postdata();// IMPORTANT - reset the $post object so the rest of the page works correctly ?>
<?php endif; ?>
<?php
// check if the flexible content field has rows of data
if( have_rows('selection') ):
// loop through the rows of data
while ( have_rows('selection') ) : the_row();
if( get_row_layout() == 'selectionselection' ):?>
<div class="titre-soustitre">
<div class="menu-content" data-id="id-<?php the_sub_field('id');?>">
<p class="demo bis"><span class="sub"> </span></p>
<a href="#" class="expander"><h1><p class="demo title"><?php the_sub_field('title');?></p></h1></a>
<p class="demo bis"><span class="sub"><?php the_sub_field('subhead');?></span></p>
</div>
</div>
<?php endif;
endwhile;
else :
// no layouts found
endif;
?>
答案 0 :(得分:4)
我认为您需要在主页上添加自定义字段。它可以是“post / page”字段(不记得它是如何调用的)。这个想法是在主页后端指示哪个页面ID将从中获取最后一行转发器或灵活内容字段。
添加自定义字段以指示主页上的页面ID。
现在在主页模板上,您需要编写如下内容: $ otherPageId = get_field('your_other_page_id');
然后你可以在你的代码中运行相同的东西但是进入
have_rows('selection')
功能添加第二个参数
have_rows('selection', $otherPageId)
以指示您要在哪个页面上搜索此字段。
$ repeater = get_field('repeater');
$ last_row = end($ repeater);
echo $ last_row ['sub_field'];