php – WordPress:get_the_content()和the_content()之间的区别

我正在使用WordPress中的新主题,并花了很多时间使用get_the_content()函数.

  <div class="clearfix">
      <div>
        <p><?=get_the_content();?></p>
      </div>
  </div>

似乎它不处理快捷方式而不执行段落.

然后我用the_content()替换它;我的段落和快捷方式开始奏效.

  <div class="clearfix">
      <div>
        <p><?=the_content();?></p>
      </div>
  </div>

我的问题:函数和附加处理之间的区别是什么?_content();与get_the_content()进行比较;?

解决方法:

虽然@J Quest提供了足够的答案,但我想详细说明一下.一般来说,WordPress有两种类型的post变量函数:get_function和the_ functions.

get_function,例如get_the_content()get_the_ID()将返回所需的信息,然后必须对其进行操作并打印到页面.一些例子:

$content = get_the_content();
$content = apply_filters( 'the_content', $content );
$content = str_replace( 'foo', 'bar', $content );

echo 'Post #'. get_the_ID() . $content;

the__function(例如the_content()the_ID())实际上回显返回的值,如果适用,将对适当的值应用“默认过滤器”.这些功能不需要回显.

echo get_the_ID();

在功能上是相同的

the_ID();

如果你查看the_ID()的文档,你会发现它只是输出get_the_ID()的值.从来源:

function the_ID() {
    echo get_the_ID();
}

在这种情况下,如果您尝试将the_ functions设置为变量,您将在整个页面中留下回显变量的踪迹.

$id = the_ID();
echo 'Post ID: $id';

将输出:

123Post ID: 123

要使用get_the_content()并获取要运行的短代码,您需要通过do_shortcode()函数或更好的the_content过滤器运行它.

$content = get_the_content();

echo do_shortcode( $content );
// Or:    
echo apply_filters( 'the_content', $content );

如果您只是需要在模板中吐出帖子内容而不进行任何操作,通常情况下会更好(没有回声或回声短标记):

the_content();

相关文章

我们有时候在定制WORDPRESS主题的时候,由于菜单样式的要求我...
很多朋友在做wordpree主题制作的时候会经常遇到一个问题,那...
wordpress后台的模块很多,但并不是每个都经常用到。介绍几段...
从WordPress4.2版本开始,如果我们在MYSQL5.1版本数据中导出...
很多网友会遇到这样一个问题,就是WordPress网站上传图片、附...
对于经常要在文章中出现代码的IT相关博客,安装一个代码高亮...