首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在wordpress中进行星级评定的PHP开关

在wordpress中进行星级评定的PHP开关
EN

Stack Overflow用户
提问于 2014-07-12 07:25:29
回答 1查看 117关注 0票数 0

在我的wordpress网站上,试着用一种简单快捷的方式从一个数字建立一个星级系统。

下面是我的代码:

代码语言:javascript
复制
<?php
$stars = $business['rating'];
settype($stars, "integer");

switch ($stars) {
    case 0:
        echo '<img src="' .  echo esc_url( home_url( '/' ) );  . 'wp-content/themes/child-theme/images/stars0.png" />';
        break;
    case 1:
        echo '<img src="' .  echo esc_url( home_url( '/' ) );  . 'wp-content/themes/child-theme/images/stars1.png" />';
        break;
    case 2:
        echo '<img src="' . echo esc_url( home_url( '/' ) );  . 'wp-content/themes/child-theme/images/stars2.png" />';
        break;
    case 3:
        echo '<img src="' .  echo esc_url( home_url( '/' ) );  . 'wp-content/themes/child-theme/images/stars3.png" />';
        break;
    case 4:
        echo '<img src="' .  echo esc_url( home_url( '/' ) );  . 'wp-content/themes/child-theme/images/stars4.png" />';
        break;
    case 5:
        echo '<img src="' .  echo esc_url( home_url( '/' ) );  . 'wp-content/themes/child-theme/images/stars5.png" />';
        break;
    }
    ?>

看起来它应该是有效的,但它就是不会出现。

EN

回答 1

Stack Overflow用户

发布于 2014-08-05 05:45:33

当你运行代码的时候会发生什么?

$business‘’rating‘的可能值是什么

如果可能的值都是不以数字开头的字符串,则当$stars转换为整数时,$stars将转换为0。

在这种情况下,案例0将始终匹配。

通过删除案例0添加一个

代码语言:javascript
复制
default:
  echo "No case matched: $stars for $business['rating']".

在连接时,也不能在esc_url()函数之前添加另一个echo语句,并在函数后面添加分号:

代码语言:javascript
复制
echo '<img src="' .  esc_url( home_url( '/' ) )  . 'wp-content/themes/child-theme/images/stars0.png" />';

这可能是一个语法错误,导致您的代码无法工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24708027

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档