【问题标题】:Why is echo required in this PHP script?为什么这个 PHP 脚本需要 echo?
【发布时间】:2017-12-13 00:29:45
【问题描述】:

我没有卡在任何东西上,但我有以下代码,并想从理论的角度了解为什么在下面的 PHP 脚本中需要 echothe_permalink();the_title();

<div class="col-md-9">

    <a href="<?php echo the_permalink(); ?>"

        <h2><?php echo the_title(); ?></h2>

    <a/>

我对 PHP 和在 Wordpress 中构建仍然有点陌生,所以这可能与我在这里的困惑有关,但只是为了一般知识,我想知道。

【问题讨论】:

  • echo 实际上并不需要这些(例如,请参阅codex.wordpress.org/Function_Reference/the_permalink 中的代码示例)。 get_permalink()get_the_title() 需要它,但 the_permalink()the_title() 实际上在内部进行自己的 echo 调用。 WordPress 很奇怪——有些函数输出,有些不输出,有些是 get_the,有些是 get_,等等。它是长期混乱演变的产物,开发人员喜欢保持一切向后兼容,所以很多现代版本中仍然存在非常古老的设计错误。

标签: php wordpress


【解决方案1】:

如上所述,echo 命令将文本打印到屏幕上。 WordPress 和 PHP 中有一些函数,您希望在其中获取一些数据,但还没有将其打印到屏幕上。

如果您使用如下语句:

$title = the_title();

<h1><?php echo the_title();?></h1>

标题会显示两次,默认情况下会回显the_title()

如果您想获得标题并在其他地方使用它。那么 the_title() 有一个参数可以设置为 false。

$title = the_title('<h1>','</h1>', false);

<a href="#"><?php echo $title; ?></a>

【讨论】:

  • @ceejayoz 实际上它会使用 WordPress 中的 the_title() 函数显示两次标题:3v4l.org/PS3Es
猜你喜欢
  • 1970-01-01
  • 2021-05-12
  • 2017-09-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-14
  • 1970-01-01
相关资源
最近更新 更多