2014-07-17 40 views
0

如何限制段落的段落長度,而不是字數/字符數?例如,段落只顯示前兩段,不管段落有多長。Wordpress第二段摘錄

在此先感謝。

回答

1

這是一個函數,它可以保持HTML標籤的完整性,在摘錄結尾處添加一個「Read More」鏈接,並在第一段之後修剪摘錄。

if (! function_exists('wpse0001_custom_wp_trim_excerpt')) : 

function wpse0001_custom_wp_trim_excerpt($wpse0001_excerpt) { 
global $post; 
$raw_excerpt = $wpse0001_excerpt; 
if ('' == $wpse0001_excerpt) { 

$wpse0001_excerpt = get_the_content(''); 
$wpse0001_excerpt = strip_shortcodes($wpse0001_excerpt); 
$wpse0001_excerpt = apply_filters('the_content', $wpse0001_excerpt); 
// Here we choose how many paragraphs do we want to cutthe excerpt at, This part thanks to Clément Malet 
$wpse0001_excerpt = "<p>$wpse0001_excerpt</p>"; 
    $wanted_number_of_paragraph = 2; 
    $tmp = explode ('</p>', $wpse0001_excerpt); 
    for ($i = 0; $i < $wanted_number_of_paragraph; ++$i) { 
     if (isset($tmp[$i]) && $tmp[$i] != '') { 
      $tmp_to_add[$i] = $tmp[$i]; 
     } 
    } 
$wpse0001_excerpt = implode('</p>', $tmp_to_add) . '</p>'; 

$wpse0001_excerpt = str_replace(']]>', ']]&gt;', $wpse0001_excerpt); 

$excerpt_end = ' <a href="'. esc_url(get_permalink()) . '">' . '&nbsp;&raquo;&nbsp;' . sprintf(__('Read more about: %s &nbsp;&raquo;', 'pietergoosen'), get_the_title()) . '</a>'; 
$excerpt_more = apply_filters('excerpt_more', ' ' . $excerpt_end); 

//$pos = strrpos($wpse0001_excerpt, '</'); 
//if ($pos !== false) 
// Inside last HTML tag 
//$wpse0001_excerpt = substr_replace($wpse0001_excerpt, $excerpt_end, $pos, 0); 
//else 
// After the content 
$wpse0001_excerpt .= $excerpt_end; 

return $wpse0001_excerpt; 

} 
return apply_filters('wpse0001_custom_wp_trim_excerpt', $wpse0001_excerpt, $raw_excerpt); 
} 

endif; 

remove_filter('get_the_excerpt', 'wp_trim_excerpt'); 
add_filter('get_the_excerpt', 'wpse0001_custom_wp_trim_excerpt'); 

編輯

感謝來自@ClementMalet的幫助下,我能調整我的功能讓你選擇你要剪切的摘錄幾段量。請檢查他的好回答here

+0

謝謝,彼得。第二段如何修剪? – BitSin

+0

請檢查更新的答案 –