我正在使用带有高级自定义字段插件的Wordpress。我的模板看起来像:
<table>
<?php
query_posts('post_type=meeting');
if (have_posts()) : while (have_posts()) : the_post();
echo "<tr>";
echo "<td>" . the_field('city') . "</td>";
echo "<td>" . the_field('time') . "</td>";
echo "</tr>";
?>
<!-- Do stuff -->
<?php endwhile; endif; ?>
</table>
这有效,但出于某种原因,我的标记现在看起来像这样:
<table>
<tr>
<td></td>Yellowstone<td></td>5:30 A.M.
</tr>
</table>
答案 0 :(得分:1)
试试这个:
<?php
$args = array( 'post_type' => 'meeting', 'posts_per_page' => 10 );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
?>
<table>
<tr>
<td><?php the_field('city'); ?></td>
<td><?php the_field('time'); ?></td>
</tr>
</table>
<?php endwhile; wp_reset_postdata(); ?>
你的代码无效的原因是因为它应该是这样的 - 单引号几乎完全显示事物&#34;原样。&#34;
echo '<td>' . the_field('city') . '</td>';
echo '<td>' . the_field('time') . '</td>';
在上面的echo示例中,我会这样做 - 双引号将显示一系列转义字符(包括一些正则表达式),并且将对字符串中的变量进行评估。
$city = the_field('city');
$cityTime = the_field('time');
echo "<td> $city </td>";
echo "<td> $cityTime </td>";