Wordpress从摘录中删除了更多内容

时间:2017-02-13 10:46:13

标签: php wordpress

我遇到了Remove_filter()的问题。删除过滤器有效但不是100%,它不会从Read More中删除第一个 3点,并且它不会替换父节选。< / p>

更清楚我要做的是删除阅读更多并将其更改为 [...]

我希望通过子主题 完成此操作。

以下是截图示例BeforeAfter

父主题functions.php代码

    function new_excerpt_more($more) {
    global $post;
    return '… <a href="'. get_permalink($post->ID) . '">' . 'Read More!   &raquo;'     . '</a>';
   }
    add_filter('excerpt_more', 'new_excerpt_more');

Child-theme functions.php code。

       function child_theme_setup() {
       // override parent theme's 'more' text for excerpts
       remove_filter( 'excerpt_more', 'new_excerpt_more' ); 

      }
     add_action( 'after_setup_theme', 'child_theme_setup' );
    // Replaces the excerpt "Read More" text by a link
     function new_excerpt($more) {
     global $post;
     return '<a class="moretag" href="'. get_permalink($post->ID) . '">[...]                      </a>';
      }
      add_filter('excerpt', 'new_excerpt');

2 个答案:

答案 0 :(得分:4)

您只需稍微更新一下代码即可。

// Changing excerpt more
function new_excerpt_more($more) {
  global $post;
  remove_filter('excerpt_more', 'new_excerpt_more'); 
  return ' <a class="read_more" href="'. get_permalink($post->ID) . '">' . ' do whatever you want to update' . '</a>';
}
add_filter('excerpt_more','new_excerpt_more',11);

钩子的默认优先级是10.父级主题的钩子可能会被添加到第二位,这意味着你的钩子和父钩子具有相同的优先级,但父亲的钩子最后一次它并没有反映出变化。

答案 1 :(得分:3)

如果您不想编写一个新函数,而只希望它在特定区域内工作,则也可以尝试将wp_trim_words()函数与get_the_content()结合使用

示例:

<?php echo wp_trim_words(get_the_content(), 60) ?>

上面的操作是将get_the_content()返回的任何内容减少到所需的单词数(在本例中为60)。