将以下代码放入functions.php
:
// TRUNCK STRING TO SHORT THE STRINGS
function trunck_string($str = "", $len = 150, $more = \'true\') {
if ($str == "") return $str;
if (is_array($str)) return $str;
$str = strip_tags($str);
$str = trim($str);
// if it\'s les than the size given, then return it
if (strlen($str) <= $len) return $str;
// else get that size of text
$str = substr($str, 0, $len);
// backtrack to the end of a word
if ($str != "") {
// check to see if there are any spaces left
if (!substr_count($str , " ")) {
if ($more == \'true\') $str .= "...";
return $str;
}
// backtrack
while(strlen($str) && ($str[strlen($str)-1] != " ")) {
$str = substr($str, 0, -1);
}
$str = substr($str, 0, -1);
if ($more == \'true\') $str .= "...";
if ($more != \'true\' and $more != \'false\') $str .= $more;
}
return $str;
}
// the_content() WITHOUT IMAGES
// GET the_content() BUT EXCLUDE <img> OR <img/> TAGS THEN ECHO the_content()
// And ADD <a>DETAILS</a>
function custom_excerpt( $Trunckvalue = null ) {
ob_start();
the_content();
$postOutput = preg_replace(\'/<img[^>]+./\',\'\', ob_get_contents());
ob_end_clean();
echo trunck_string( $postOutput, $Trunckvalue, true ); ?>
<a class="read-more" href="<?php the_permalink(); ?>" title="<?php the_title(); ?>" rel="bookmark">DETAILS</a>
<?php
}
现在所需的一切都是
ready.
解释
正如您所理解的,在我们正在使用的第二个或最后一个函数中
the_content()
并且不包括
<img/>
标记,以便它们显示为
the_excerpt()
. 然后我们将trunck值传递到新的自定义摘录中。并使用
custom_excerpt()
可以在任何我们可以使用新摘录的地方使用。
使用方法<?php the_excerpt() ?>
, 只需调用<?php custom_excerpt() ?>
. 如果要控制摘录长度,只需将长度输入数字,如:<?php custom_excerpt(250) ?>
.