【问题标题】:Adding the_category into the_excerpt将 the_category 添加到 the_excerpt
【发布时间】:2013-08-13 22:39:23
【问题描述】:

我想在我的博客主页上以 the_category 开头_excerpt。我已经阅读了法典,但没有找到解决方案。所以,如果我的帖子类别是“电影”并且“the_excerpt”输出:“Paul Rudd, Emile Hirsch 在...中找到崇高、微妙的喜剧阅读更多”,我希望它改为输出“MOVIES | Paul Rudd,埃米尔·赫希 (Emile Hirsch) 在 ... 阅读更多”

提前感谢您的帮助。

【问题讨论】:

  • 到目前为止你的代码是什么样的? the_category()。 '.the_excerpt() 应该让你非常接近。
  • 谢谢 andrew - 问题是 the_excerpt 的样式是带有文本中心的段落。如果它左对齐,那么我可能会在类别上使用浮点数,您的建议会很好用。但是我需要将 the_category 输出为 the_excerpt 的文本 INSIDE,以便段落文本正确居中。
  • 哦,好的 :) 在下面回答。

标签: wordpress blogs categories


【解决方案1】:

the_excerpt()其实只是调用同名过滤器,通过get_the_excerpt()

function the_excerpt() {
    echo apply_filters('the_excerpt', get_the_excerpt());
}

在您的functions.php 文件或插件中,添加如下内容:

add_filter('the_excerpt','my_add_category',10,1);
function my_add_category($excerpt) {
    $excerpt = the_category().' | '.$excerpt;
    return $excerpt;
}

这是未经测试的,但如果它不起作用,请告诉我,我会加载本地环境并为您提供其他内容。

【讨论】:

  • 感谢 Andrew,但是当我将上面的 add_filter 代码输入到我的 functions.php 文件中,然后将 my_add_category() 添加到我的模板中时,它只是输出类别。另外,过滤器代码中的“10”和“1”是什么意思?
  • 哦,继续使用excerpt(),这个函数告诉WordPress添加类别和“|”在调用 the_excerpt() 时,在摘录本身之前。 10 是 WordPress 通过 the_excerpt() 函数上的各种过滤器运行时调用该函数的优先级。例如,优先级为 11 的东西将在此之后运行。第四个参数 1 告诉 WordPress 我们的过滤器函数本身只需要一个参数。
  • 太好了 - 感谢您提供的信息。所以这确实有效,因为类别显示在摘录之前。我的下一步是想办法在摘录段落中实际获取类别(在 ul 中显示为 li 元素),以便我可以将所有文本居中对齐。感谢您的帮助 - 我会看看我是否可以解决这个居中问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-14
相关资源
最近更新 更多