模板标签-the_content()

1条评论

说明

该标签显示当前文章的内容。该标签必须在WordPress主循环(loop)

若文章使用快速标签 <!--more--> 来截取摘要,the_content()标签将只在非单篇文章或非固定链接文章上显示 <!--more-->前的摘要部分。the_content()标签可包含一个规定 <!--more-->内容和样式的参数,该参数会生成“继续阅读全文”的链接。

关于 <!--more-->

  • <!--more-->快速标签中的more前不得有空格。否则 <!--more-->将无法发挥作用。
  • <!--more-->快速标签无法在模板中运行(会被模板忽略),如single.php只会显示一篇文章。
  • 更多信息请见改变“Read More”的样式

用法

<?php the_content( $more_link_text, $strip_teaser, $more_file ); ?>

参数

$more_link_text

(字符串)(可选)“more”链接的链接文本

默认值: '(more...)'

$strip_teaser

(布尔型)(可选)显示(FALSE)或隐藏(TRUE)more链接前的文本。

默认值:FALSE

$more_file

(字符串)(可选)more链接所指向的文件

默认值:当前文件

示例

设计“More”文本

文章使用<!--more--> 快速标签时,显示文章内容并用"Read more..." 代替<!--more--> 后的内容。

<?php the_content('Read more...'); ?>  

在“More”中加入标题

该示例类似于上一个示例,但在the_title()标签和display参数的帮助下,若文章使用 <!--more-->,该示例可以显示"Continue reading ACTUAL POST TITLE"(继续阅读当前文章标题

<?php the_content("Continue reading " . the_title('', '', false)); ?>  

改写存档/单个页面

如果the_content()不能按计划运行(如当你希望显示<!--more--> 标签前的内容,the_content()却显示了全文内容),你可以用全局变量$more改写这一行为:

<?php
global $more; // Declare global $more (before the loop).
$more = 0; // Set (inside the loop) to display content above the more tag.
the_content("More...");
?>

如果需要显示所有正文:

<?php
global $more; // Declare global $more (before the loop).
$more = 1; // Set (inside the loop) to display all content, including text below more.
the_content();
?>

其它用法

你可以用get_the_content函数返回文章内容的值,而非直接输出文章内容。示例如下:

<?php $content = get_the_content(); ?>  

请注意!get_the_content 无法进行以下操作,因此你最好手动添加以下代码,直到核心程序升级成功:

<?php
$content = apply_filters('the_content', $content);
$content = str_replace(']]>', ']]&gt;', $content);
?>

历史记录

  • 始见于WordPress 0.71版本

源文件

the_content()位于wp-includes/post-template.php

#1
主循环外如何调用content里的东西呢 比如在其他循环里如何调?