我定义了一个名为$thumbs_number.
的变量
我做了var_dump
:
string(52) "2"
和print_r
2
现在看起来$thumbs_number
是2。但后来我做了这个:
<?php if ( $thumbs_number == 2 ) : ?>
<span><?php _e( 'two likes' ); ?></span>
<?php else : ?>
<span><?php _e( 'likes' ); ?></span>
<?php endif; ?>
我仍然得到"赞"而不是"两个赞">
我做错了什么?
编辑:
这是来自的可变混合
<?php $thumbs_number = wp_gdsr_render_article_thumbs($template_id = 46, $read_only = false, $stars_set = "", $stars_size = 0, $stars_set_ie6 = "", $echo = false); ?
http://plugins.svn.wordpress.org/gd-star-rating/tags/1.9.9/code/fn/legacy.php在文档中显示"@return string html with rendered contents"。它可能不仅仅是返回数字或空格,而是返回html标记(你可以在输出结果上使用"查看源代码"来检查这一点。如果你只是在浏览器中查看它,它会解析html标记,但你看不到它们。(
简单的修剪是不够的。(此外,php可以将带有空格的字符串自动转换为数字。(或者检查一个更合适的wordpress函数,该函数可以在不使用html的情况下返回所需的数字,或者使用regexp/substring提取数字。
$thumbs_number = trim(wp_gdsr_render_article_thumbs($template_id = 46, $read_only = false, $stars_set = "", $stars_size = 0, $stars_set_ie6 = "", $echo = false));
修剪空白,它应该可以正确地进行比较。