如何读出摘录长度(适用于IF条件)

时间:2015-12-02 作者:ezkay

我正在努力做到以下几点。If the excerpt length is shorter than 30 charakters, 而不是。。

<?php if ( get_the_excerpt() <= 30 AND has_post_thumbnail() ) : ?>
   <div></div>
<?php else : ?>
   <div></div>
<?php endif; ?>
但这似乎不是读出长度的方法。我在玩弄一些定义,比如:

<?php if ( the_excerpt() <= 30 AND has_post_thumbnail() ) : ?>
<?php if ( $count($the_excerpt) <= 30 AND has_post_thumbnail() ) : ?>
<?php if ( excerpt_length($count) <= 30 AND has_post_thumbnail() ) : ?>
。。但我很无助。所以你们这些好心人。有什么想法吗?

2 个回复
最合适的回答,由SO网友:Pieter Goosen 整理而成

这是您需要使用的更多PHPstr_word_count() 计算摘录中的字数。请注意,为了安全起见,如果您允许在摘录中使用任何标记,您应该使用strip_tags() 删除html标记以避免不正确的字数。

示例:

echo str_word_count( strip_tags( get_the_excerpt() ) );
如果需要在前端显示wordcount,还可以将上述内容包装在number_format_i18n() 根据语言环境集返回整数值

echo number_format_i18n( str_word_count( strip_tags( get_the_excerpt() ) ) );

SO网友:s_ha_dum

答案是基本PHP:

$exc = get_the_excerpt();
// var_dump($exc);
$exc = strlen($exc);
// var_dump($exc);
if ( $exc <= 30 AND has_post_thumbnail() ) {

} else {

}
在尝试将字符串与整数进行比较之前,需要计算字符串的字符数。PHP的strlen() 确实如此。

然而,你也误解了一些事情。。。

if ( the_excerpt() <= 30 AND has_post_thumbnail() ) :
the_excerpt() 打印内容。所要做的就是echo 屏幕上的摘录。没有可操作的“捕获”数据。

if ( $count($the_excerpt) <= 30 AND has_post_thumbnail() )
领先者$ 使其成为函数。而您可以创建variable function 在PHP中,我怀疑您是否有。没有$, count() 就要回来了1 使用字符串。它不计算字符数。

if ( excerpt_length($count) <= 30 AND has_post_thumbnail() )
excerpt_length 这样不行。事实上,它甚至不是一个函数。它是一个过滤器。

我建议,如果您打算入侵您的网站,请熟悉PHP Docs 以及Codex, 不要再试图猜测函数,从其他语言中推断,或者只是编造一些东西。This 可能也有帮助。

相关推荐

Term count by user

我正在我们的网站前面开发一个部分。我们的用户将属性提交到我们的目录。我们想展示他们列出了多少物业以及哪些类型。我有这个代码,但它显示了所有用户的所有帖子数量。我只想显示他们的帖子数量,所以它就像住宅物业:15。这就是我正在使用的代码,谁能告诉我哪里出了问题。$term = get_term( 110, \'property_type\' ); // WP_Term_Query arguments $args = array( \'taxonomy\' => arr