通过研究,我发现这个问题已被多次提出,但是,我的实例有点不同。我正在尝试使用以下elseif:
为预先存在的客户环境添加字符限制elseif(get_post_type() == 'post') {
echo '<p class="excerpt">';
the_excerpt();
echo '</p>';
}
我试图通过函数使用几种方法,但是,我一直无法找到解决方案。我本身不是一个PHP开发人员,所以我在学习,因为我去了这里,希望开发人员可以帮助解决这个问题,并提供一个如何在将来处理这个问题的简要说明。
谢谢!
P.S。 - 我在这里阅读了文档:http://codex.wordpress.org/Conditional_Tags并且在不破坏else语句的其余部分的情况下无法使其工作。
答案 0 :(得分:2)
默认情况下,摘录长度设置为55个字。要使用excerpt_length过滤器将摘录长度更改为20个单词,请将以下代码添加到主题中的functions.php文件中:
function custom_excerpt_length( $length ) {
return 20;
}
add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );
答案 1 :(得分:1)
使用get_the_excerpt
返回文字而不打印文字,并使用substr
将其剪切为您想要的长度:
elseif(get_post_type() == 'post') {
echo '<p class="excerpt">';
$excerpt = get_the_excerpt();
$limit = 100;
if (strlen($excerpt) > $limit) {
echo substr($excerpt, 0, $limit), '[...]';
} else {
echo $excerpt;
}
echo '</p>';
}
答案 2 :(得分:0)
有很多方法可以做到这一点。
简单方法:
安装Advanced Excerpt plugin并将the_excerpt();
替换为the_advanced_excerpt()
,并根据需要在“设置”中进行配置 - &gt;在管理面板中摘录(或在函数调用中使用字符串查询变量)。这也可以让你做很多事情,比如自定义“阅读更多”链接(或排除它),在最后添加“...”或其他一些文本,剥离或允许特定的html标签等。
繁琐的方式:
您可以将substr
PHP函数(docs)与get_the_content();
或get_the_excerpt()
结合使用,将其修剪为您想要的多个字符(或做任何您想做的事情)它就像freejosh的回答一样。
高级/清洁方式:
使用Srikanth的答案中描述的方法将摘录长度过滤为所需的多个字符(这是我的首选方式,除非您需要某些高级摘录选项,如use_words
等)。