[英]Trying to get WordPress PHP inside of HTML echo statement
在阅读了许多 SO 文章后,我认为我有这个权利,但我不断收到错误消息。 基本上,在我的 content.php 页面模板中,我想根据您是在存档页面还是单个帖子页面上显示不同的文章标签。 所以我一直在做这样的事情:
<?php if ( is_archive() ) {
echo '<article id="post-' . the_ID() . '">';
} else {
echo '<article id="post-' . the_ID() . ' . "post_class() . '">';
}
?>
但是这里发生的事情而不是它在页面上吐出 ID,所以生成的 HTML 看起来像这样:
1234<article id="post-">Content Goes Here</article>
什么时候应该......
<article id="post-1234">Content Goes Here</article>
那么为什么这显示不正确呢?
the_ID()
(以及相当多的其他 WP 函数)有一个变体get_the_ID()
你会想在这里使用。 the_ID()
在内部做自己的回声; get_the_ID()
返回它。
只需将您的代码修改为:默认情况下the_ID()
具有 echo param true 以便它打印 id,但get_the_ID()
返回与您的 html 代码连接的 ID。 您可以通过单击此处获取更多详细信息。 并且还在post_class()
函数之后从 else 部分删除了 Double Qutoes。
<?php if ( is_archive() ) {
echo '<article id="post-' . get_the_ID() . '">';
} else {
echo '<article id="post-' . get_the_ID() . '". post_class() .'>';
}
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.