我定义了一个名为$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); ?
答案 0 :(得分:2)
http://plugins.svn.wordpress.org/gd-star-rating/tags/1.9.9/code/fn/legacy.php在文档中说“带有渲染内容的@return string html”。它可能不只是返回数字或空格,而是html标签(您可以通过在输出结果上使用'view source'来检查这一点。如果您只是在浏览器中查看它,它将解析html-标签,你不会看到它们。)
简单的修剪是不够的。 (此外,php可以将带有空格的字符串自动转换为数字。)要么检查更合适的wordpress函数,在没有html的情况下返回所需的数字,或者使用regexp / substring来提取数字。
答案 1 :(得分:0)
$thumbs_number = trim(wp_gdsr_render_article_thumbs($template_id = 46, $read_only = false, $stars_set = "", $stars_size = 0, $stars_set_ie6 = "", $echo = false));
修剪空白,它应该正确比较。