Wordpress 是一个 HORRIBLE 应用程序,用于学习如何编程。它使用这些“正常工作”的全局函数,但它们在“循环”内部执行非常具体的任务。正如我所说,这是一个糟糕的例子,说明好的代码应该是什么。
谢天谢地(对你来说)还有其他函数可以返回你正在寻找的部分。而不是我只写你需要的东西,你可以阅读a full listing here。请注意记下哪些必须在神话循环中,哪些可以在任何地方使用。
碰巧有更多的方法来获得标题,但我真的在想象这个例子你会做这样的事情:
$this_post = get_post($post); // I *think* $post is the post ID inside the loop though I could be wrong
echo $this_post->post_title;
但正如另一位海报(正确)所说,您可以使用一个相当简单的 wp_title() 函数来获取当前循环标题。
这让我想起了也许想解释为什么从 Wordpress 学习编程是一个坏主意。他们有太多该死的方式来做同样该死的事情,以至于几乎不可能保持领先地位。
博客是一组非常简单的数据(在 WP 的情况下更是如此,因为它没有完全规范化),但不仅仅是有一种方法来输出标题<?php echo $post->title; ?> 你有很多方法,都在做微妙的不同的事情.
如果您真的想学习如何编程(而不是绕开 WP 内部的废话),创建一个简单的博客引擎是相当快速和有趣的......这当然是很多人进入的方式一种新的语言或框架。
如果你真的想玩得开心,看看 Django。
受够了 WordPress 的咆哮。如果您将来要与没有 100 种方法的此类事情作斗争,我真的不建议使用输出缓冲区捕获。它为一些相对简单的事情消耗了大量资源。
最简单的方法是获取原始函数的源代码,将其粘贴到新函数中,然后将 echo 替换为 return。
请注意,可能有一些数据库连接需要处理,过早返回可能会中断......因此,如果 echo 不是最后一个语句,而不是直接返回,将字符串存储为变量并在结束时返回函数。