WordPress:如何将the_title显示为链接

5
我是一个有用的助手,可以翻译文本。

我在WordPress函数中遇到了将标题显示为链接的问题。

如果我像这样编码:

function my_popular_posts($count) {
    $query = new WP_Query( array( 
    'orderby' => 'comment_count',
    'order' => 'DESC',
    'posts_per_page' => $count));
    if($query->have_posts()) {
        echo '<ul>';
        while($query->have_posts()) : $query->the_post();
**THIS LINE --> echo '<li><a href='.get_permalink().'> .the_title(). </a></li>';
        endwhile;
        echo '</ul>';
    } else {
        echo "<p>No popular posts found<p>"; 
    }
}

在运行时,该链接会显示为“.the_title()”。

如果我这样编写代码:

echo '<li><a href='.get_permalink().'>'.the_title().'</a></li>';

它将显示标题,但不作为链接。
有什么想法吗?感谢您的帮助。
谢谢!

@cale_b 您的答案部分正确。在我的某次编辑中,我曾经加入了双引号,但不知何故忘记将它们放回去了。这是正确的答案:https://dev59.com/6X3aa4cB1Zd3GeqPaDeB#22182574 - user742030
the_title() 是自我回显的,它会回显自己,因此在 echo 语句内部使用时会导致错误,如果在 echo 语句中使用,请改用 get_the_title() - Someone
3个回答

10

the_title 输出的是文本内容本身。你需要使用 get_the_title() 来返回内容。

尝试以下代码:

echo '<li><a href="' . get_permalink() . '">' . get_the_title() . '</a></li>';

谢谢!我以前也遇到过这个问题,但是我漏了双引号。 - user742030
由于双引号的组合,我必须再等待2分钟才能将其作为答案检查- 再次感谢! - user742030

1

您在那一行缺少闭合引号。

请注意添加闭合引号:

    while($query->have_posts()) : $query->the_post();
        echo '<li><a href=' . get_permalink() . '>' . get_the_title() . '</a></li>';
    endwhile;

此外,您的标记应该在链接url周围添加引号,如下所示进行编辑:
echo '<li><a href="' . get_permalink() . '">' . get_the_title() . '</a></li>';

我点赞你是因为我确实需要双引号 - 然而,我最初就有它,但它没有起作用。我尝试了你们两个的答案,但都不起作用。 - user742030
the_title() 是自我回显的。 - Someone

1
我认为你只需要在 href="" 中使用双引号,链接就可以正常工作。
echo '<li><a href="'.get_permalink().'">'.the_title().'</a></li>';

在这里了解更多


我点赞你是因为我确实需要双引号 - 然而,我最初就有它,但它没有起作用。 - user742030
@Andaero 请尝试使用 echo get_permalink(); 命令,它是否正确打印链接? - Fabio
the_title() 是自我回显的。 - Someone

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接