2010-03-09 91 views
2

我正尝试使用我主题的头文件中的函数来创建自动生成的帖子摘录,该帖子摘自当前页面的帖子内容。帖子摘录将用作页面的元描述。有人可以告诉我一旦你将帖子内容写入字符串变量后,你会怎么做?Wordpress自动从帖子内容摘录?

的有些棘手的部分是,为了预测职位摘录一个可行的停止点,我想指定的截止点是文本的第一段落的末尾。

,由于这个原因,它没有任何意义加载整个帖子的内容为我使用的字符串。我可以抓住第一段而不必加载整个帖子内容字符串吗?

而我不确定如何测试在php中。将正则表达式是唯一的方法?

+0

这并不回答你的问题,但你有没有想过使用一篇文章的“摘录”呢?例如:'”/>'。它不会自动生成;帖子作者必须撰写该帖子的摘录。您还可以使用在“更多”标记之前获取帖子部分的能力,这通常是前几个句子。像'<?php the_content('(continue reading ...)'); ?>'。 – 2010-03-09 02:43:37

+0

嗨,本尼,我想创建一个自动摘录脚本,以便后作者不必使用帖子摘录字段:) – 2010-03-09 06:30:19

回答

1

can't parse HTML with regex。帖子以HTML格式存储(即<p></p> <br />等)。

我还假设你正在一个有很多现有职位的博客上实现这一点。

你可以做的是:

  1. 检索后,通过一个XML解析器运行。抓住第一段。这对于这样一个简单的任务来说非常昂贵。

  2. 使用在后快速标签摘录停止点,从一切带HTML表示,以它的左侧。类似于<-- more -->标签。

  3. 存储与每个岗位的摘录,我相信WP已经拥有该设施。

这将是非常非常容易,如果你可以简单地选择摘录,而无需做任何额外的摆弄为了使用它,所以时间来处理它是在一个职位保存。

所以,如果你可以初步选择每个岗位,分析它,得到第一款并将其插入到另一张表,然后让你的插件做,当每一个新的职位被保存,你回家。当然,如果一篇文章被编辑过(如果可选),你会更新它。

只是请,请,请不要介绍WP插件使用正则表达式来解析上下文无关语言。它只是要求麻烦。

+0

伟大的建议蒂姆。我相信在保存时间的插件是一条路。没有正则表达式,不用担心:) – 2010-03-09 06:32:16