簡體   English   中英

試圖在 HTML echo 語句中獲取 WordPress PHP

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM