如何从自定义帖子类型摘录中删除“阅读更多”链接

时间:2013-11-11 作者:Evster

有什么方法可以添加pre_get_posts() 筛选以删除显示在the_excerpt() 仅针对我指定的1个特定自定义帖子类型?

如果是这样的话,有人能帮我解决代码问题吗?我已经做了一段时间了,但没有取得任何进展。任何帮助都将不胜感激。谢谢

4 个回复
SO网友:Geoffrey Hale

输入以下代码functions.php 在所有帖子类型上显示“阅读更多”,除了custom_post_type.

function excerpt_read_more_link($output) {
  global $post;
  if ($post->post_type != \'custom_post_type\')
  {
    $output .= \'<p><a href="\'. get_permalink($post->ID) . \'">read more</a></p>\';  
  }
  return $output;
}
add_filter(\'the_excerpt\', \'excerpt_read_more_link\');

SO网友:Rob

我通过在函数中添加以下内容来修复此问题。php

remove_filter(\'get_the_excerpt\', \'wp_trim_excerpt\');
提供人:Remove more or [...] text from short post

SO网友:Andreas Wittig

一个简单的解决方案是将以下代码放入style.css:

 a.read-more {
    display:none;
 }
此目标<a class="read-more">

SO网友:Jonathan

这个怎么样?基本上,这是一种通过向函数添加回调函数来定制文本的方法。php文件。然而,我在想,如果您只是返回一个空格,那么它应该覆盖它,而不显示任何内容。

// Replaces the excerpt "more" text by a link
function new_excerpt_more($more) {
   global $post;
   return \' \';
}
add_filter(\'excerpt_more\', \'new_excerpt_more\');
我是从The Wordpress codex

编辑:

这是未经测试的,但如果您这样做:

// Replaces the excerpt "more" text by a link
function new_excerpt_more($more) {
   global $post;
   if ($post->post_type == \'your-cpt\')
   {
      return "&nbsp;";
   }
}
add_filter(\'excerpt_more\', \'new_excerpt_more\');
重申一下,我没有对此进行测试,但可能会让您走上正确的道路(即var\\u dump($post)),看看如何在新的\\u extract\\u more函数中根据自己的意愿调整它。

结束

相关推荐

Remove Ellipses from Excerpt

我对摘录使用了两个自定义函数,第一个函数修改摘录的长度,第二个函数允许我以两种方式使用\\u摘录-带有“阅读更多”链接,只要调用\\u摘录时包含适当的代码,就不必使用(see here).当我使用传统的the\\u摘录时,它会在其后的括号中生成三个省略号[…]-如何删除这些括号和省略号,以便在帖子中调用时只显示\\u摘录本身,而不显示任何链接,但仍使用下面的代码在其他地方创建“阅读更多”链接?// Excerpt // Changing excerpt length fun