正在删除[...]仅在某些地方来自get_the_excerpt()返回的摘录

时间:2012-12-30 作者:jbx

为了更好的SEO,我希望在元描述中使用帖子的摘录,所以我使用get\\u the\\u extract()函数来获取帖子的摘录。然而,我注意到,最后它添加了[…]当帖子的内容没有用More分隔符分隔,并且长度超过配置的最大长度时。

是否有一种干净的方法来删除此[…]在节选的最后?该函数似乎没有一个布尔参数来指定您是否需要它或任何类似的参数。

**更新**

我不想删除[…]从主索引。php。我只想在某些情况下(在元描述中)删除它,而在其他情况下保留它。因此,钩子解决方案在这种情况下不起作用。

谢谢

2 个回复
SO网友:s_ha_dum

不使用get_the_excerpt. 只需执行以下操作:

if (is_singular() && isset($post->post_excerpt)) {
    echo \'<meta name="description" content="\'.esc_attr($post->post_excerpt).\'" />\';
}
$post 在循环之前很久填充。对于“单个”页面,它将填充要显示的帖子。您可以在页面加载的早期获取它。对于其他类型的页面(归档文件,大写“P”页面),它可能没有您期望的值,所以请注意。

注意事项:

假设你的帖子都有实际的摘录。帖子内容不会自动生成任何内容wp_head.

SO网友:K Themes

function change_excerpt_more( $more ) {
    return \'[.....]\';
}
add_filter(\'excerpt_more\', \'change_excerpt_more\');
您可以替换“[………]”你想要什么就用什么,或者什么都不用。

结束