将数字转换为星级 php 简码?
Convert number to star rating php shortcode?
我使用以下代码在我网站的短代码中生成星级。
function Getrating() {
$starNumber = "5";
for($x=1;$x<=$starNumber;$x++) {
$output .= '<i class="fa fa-star" aria-hidden="true"></i>';
}
if (strpos($starNumber,'.')) {
$output .= '<i class="fa fa-star-half-o" aria-hidden="true"></i>';
$x++;
}
while ($x<=5) {
$output .= '<i class="fa fa-star-o" aria-hidden="true"></i>';
$x++;
}
return $output;
}
add_shortcode('starrating', 'Getrating');
我是 PHP 的新手,非常困惑。我遇到的问题是,如何使 $starNumber
成为我可以在短代码中更改的可变数字?例如,如果我想用 [starrating rating="3.5"]
这样的简码显示 3.5 颗星
我尝试的一切似乎都只能破解简码。任何帮助将不胜感激。
谢谢!
您需要将星号作为参数发送给函数如下:
function Getrating($atts) {
//starNumber has a default value of 5 if it is not set in the short code
extract(shortcode_atts(array(
'starNumber' => 5,
), $atts));
for($x=1;$x<=$starNumber;$x++) {
$output .= '<i class="fa fa-star" aria-hidden="true"></i>';
}
if (strpos($starNumber,'.')) {
$output .= '<i class="fa fa-star-half-o" aria-hidden="true"></i>';
$x++;
}
while ($x<=5) {
$output .= '<i class="fa fa-star-o" aria-hidden="true"></i>';
$x++;
}
return $output;
}
//register the shortcode
function wp_shortcodes_init(){
add_shortcode('starrating', 'Getrating');
}
//tie the shortcode to WordPress initialization action
add_action('init', 'wp_shortcodes_init');
在 CMS 中使用短代码时,请像这样使用 [starrating starNumber="5"]
我使用以下代码在我网站的短代码中生成星级。
function Getrating() {
$starNumber = "5";
for($x=1;$x<=$starNumber;$x++) {
$output .= '<i class="fa fa-star" aria-hidden="true"></i>';
}
if (strpos($starNumber,'.')) {
$output .= '<i class="fa fa-star-half-o" aria-hidden="true"></i>';
$x++;
}
while ($x<=5) {
$output .= '<i class="fa fa-star-o" aria-hidden="true"></i>';
$x++;
}
return $output;
}
add_shortcode('starrating', 'Getrating');
我是 PHP 的新手,非常困惑。我遇到的问题是,如何使 $starNumber
成为我可以在短代码中更改的可变数字?例如,如果我想用 [starrating rating="3.5"]
我尝试的一切似乎都只能破解简码。任何帮助将不胜感激。
谢谢!
您需要将星号作为参数发送给函数如下:
function Getrating($atts) {
//starNumber has a default value of 5 if it is not set in the short code
extract(shortcode_atts(array(
'starNumber' => 5,
), $atts));
for($x=1;$x<=$starNumber;$x++) {
$output .= '<i class="fa fa-star" aria-hidden="true"></i>';
}
if (strpos($starNumber,'.')) {
$output .= '<i class="fa fa-star-half-o" aria-hidden="true"></i>';
$x++;
}
while ($x<=5) {
$output .= '<i class="fa fa-star-o" aria-hidden="true"></i>';
$x++;
}
return $output;
}
//register the shortcode
function wp_shortcodes_init(){
add_shortcode('starrating', 'Getrating');
}
//tie the shortcode to WordPress initialization action
add_action('init', 'wp_shortcodes_init');
在 CMS 中使用短代码时,请像这样使用 [starrating starNumber="5"]