如何正确地将php写入html



我需要输出包含php的html。用于php代码输出数据。他们现在没有出现。如何做对?

echo '<li>
<a href="<?php echo esc_attr(the_permalink())?>">
<div class="speaker-img">
<?php $img_url = get_the_post_thumbnail_url( $loop->post->ID ); ?>
<img src="<?php echo $img_url ?>">
</div>
<div class="speaker-name">
<p>
<?php echo the_title(); ?>
</p>
</div>
<div class="speaker-city">
<p>
Fribourg
</p>
</div>
</a>
</li> ';

使用echo或类似语句将<?php写入输出流不会导致PHP执行它。它只是将它写入输出流,并将其发送到浏览器。

没有正确的方法可以做到这一点。

重新构造代码,这样就不会试图将PHP嵌套在PHP中的字符串中。

<li>
<a href="<?php echo esc_attr(the_permalink())?>">
<div class="speaker-img">
<?php $img_url = get_the_post_thumbnail_url( $loop->post->ID ); ?>
<img src="<?php echo $img_url ?>">
</div>
<div class="speaker-name">
<p>
<?php echo the_title(); ?>
</p>
</div>
<div class="speaker-city">
<p>
Fribourg
</p>
</div>
</a>
</li>

您不能将PHP代码放入字符串中。您应该使用字符串串联。

$img_url = get_the_post_thumbnail_url( $loop->post->ID );
echo '<li>
<a href="<?php echo esc_attr(the_permalink())?>">
<div class="speaker-img">
<img src="' . $img_url . '">
</div>
<div class="speaker-name">
<p>
' . the_title() . '
</p>
</div>
<div class="speaker-city">
<p>
Fribourg
</p>
</div>
</a>
</li> ';

最新更新