我完全新的使用WordPress那麼容易:)WordPress的 - 摘自字符替代?
我在模板下面的代碼:
<?php excerpt(20);?>
這樣做是限制使用20個字的文字。我現在想知道是否有某種由字符,而不是限制的話類似的功能嗎?
謝謝!
我完全新的使用WordPress那麼容易:)WordPress的 - 摘自字符替代?
我在模板下面的代碼:
<?php excerpt(20);?>
這樣做是限制使用20個字的文字。我現在想知道是否有某種由字符,而不是限制的話類似的功能嗎?
謝謝!
WordPress的不支持的摘錄方法的字符分隔符,有一個名爲Advanced Excerpt,做插件。安裝就可以調用the_advanced_excerpt('length=20&use_words=0')
我在functions.php的使用:
function truncate ($str, $length=10, $trailing='...'){
// take off chars for the trailing
$length-=mb_strlen($trailing);
if (mb_strlen($str)> $length){
// string exceeded length, truncate and add trailing dots
$str = mb_substr($str,0,$length);
$str = explode('. ',$str);
for($i=0; $i<(sizeof($str)-2); $i++):
$newstr .= $str[$i].". ";
endfor;
return $newstr;
} else{
// string was already short enough, return the string
$res = $str;
}
return $res;
}
應該截斷的字符數,但隨後回截斷進一步截斷前的最後階段。但是,當您的摘錄包含鏈接或其他標記時,確實存在問題 - 換句話說,最好在帖子中使用摘錄字段,而不是使用此功能自動摘錄,因爲您無法在摘錄字段中使用HTML 。
後,我用這個:
add_filter('excerpt_length', 'my_excerpt_length');
function my_excerpt_length($length) {
return '500';
}
function better_excerpt($limit, $id = '') {
global $post;
if($id == '') $id = $post->ID;
else $id = $id;
$postinfo = get_post($id);
if($postinfo->post_excerpt != '')
$post_excerpt = $postinfo->post_excerpt;
else
$post_excerpt = $postinfo->post_content;
$myexcerpt = explode(' ', $post_excerpt, $limit);
if (count($myexcerpt) >= $limit) {
array_pop($myexcerpt);
$myexcerpt = implode(' ',$myexcerpt).'...';
} else {
$myexcerpt = implode(' ',$myexcerpt);
}
$myexcerpt = preg_replace('`\[[^\]]*\]`','',$myexcerpt);
$stripimages = preg_replace('/<img[^>]+\>/i', '', $myexcerpt);
return $stripimages;
}
然後在我的主題文件,我只是把它稱爲:
better_excerpt('50') //50 being how many words I want
有用的自定義插件/部件了。
請使用限制文章內容驗證碼...
<a href="<?php the_permalink(); ?>"><?php substr($post->post_content, 0, xy); ?> ...</a>
更改XY的限制....
謝謝,用這一個。 – priktop 2011-05-04 10:02:07