表和帖子值

时间:2014-11-19 19:45:50

标签: php wordpress

我正在使用带有高级自定义字段插件的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>

1 个答案:

答案 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>";