PHP代码求助:the_field输出内容提前于HTML标签显示
解决ACF字段输出顺序异常问题
问题出在ACF的the_field()函数特性上:这个函数会直接输出字段内容,而非返回内容值。当你把它放在echo的字符串拼接语句里时,PHP会优先执行the_field()的输出操作,提前打印出日期内容,之后才会执行echo语句输出包裹的HTML标签,最终导致了日期显示在标签之前的异常情况。
提供两种修复方案:
- 改用
get_field()函数(该函数返回字段值,不会直接输出),将字段值正常拼接进HTML字符串:
if( get_field('event_timedate') ): echo "<div class='bm-event_timedate'><p>".get_field('event_timedate')."</p></div>"; endif;
- 拆分输出逻辑,先打印HTML标签,再调用
the_field()输出字段内容:
if( get_field('event_timedate') ): echo "<div class='bm-event_timedate'><p>"; the_field('event_timedate'); echo "</p></div>"; endif;
内容的提问来源于stack exchange,提问作者JimWids
相关产品推荐
相关产品推荐

