2015-11-08 97 views
0

這是編輯摘錄以僅顯示內容的第一段的代碼。但是,該段末尾沒有「Read More」鏈接。如何添加excerpt_more過濾器到此摘錄代碼Wordpress

因此,我想知道如何將excerpt_more過濾器添加到此代碼?

add_filter('wp_trim_excerpt', 'my_custom_excerpt', 10, 2); 

function my_custom_excerpt($text, $raw_excerpt) { 
    if(! $raw_excerpt) { 
     $content = apply_filters('the_content', get_the_content()); 
     $text = substr($content, 0, strpos($content, '</p>') + 4); 
    } 
    return $text; 
} 

這是我希望添加到上面的代碼中的代碼。

function new_excerpt_more($more) { 
    return ' <a class="read-more" href="'. get_permalink(get_the_ID()) . '">' . __('Read more here.', 'your-text-domain') . '</a>'; 
} 
add_filter('excerpt_more', 'new_excerpt_more'); 

這樣,你可以用任何你喜歡的詞定製「閱讀更多」鏈接。

回答

0

試試這段代碼:需要創建自定義的wp_trim_excerpt過濾器。

if (! function_exists('custom_wp_trim_excerpt')) 
{ 
    function custom_wp_trim_excerpt($excerpt) 
    { 
     global $post; 
     $raw_excerpt = $excerpt; 
     if ($excerpt == '') 
     { 
      $excerpt = get_the_content(''); 
      $excerpt = strip_shortcodes($excerpt); 
      $excerpt = apply_filters('the_content', $excerpt); 
      $excerpt = substr($excerpt, 0, strpos($excerpt, '</p>') + 4); 

      $excerpt_readmore = ' &raquo; <a href="'. esc_url(get_permalink()) . '">Read More</a>'; 
      $excerpt_more = apply_filters('excerpt_more', ' ' . $excerpt_readmore); 

      $pos = strrpos($excerpt, '</'); 
      if ($pos !== false) 
       $excerpt = substr_replace($excerpt, $excerpt_readmore, $pos, 0); 
      else 
       $excerpt .= $excerpt_readmore; 

       return $excerpt; 
     } 
     return apply_filters('custom_wp_trim_excerpt', $excerpt, $raw_excerpt); 
    } 
} 
remove_filter('get_the_excerpt', 'wp_trim_excerpt'); 
add_filter('get_the_excerpt', 'custom_wp_trim_excerpt'); 
相關問題