我有下面的div,我使用PHP if else根据$tteg值更改div的背景颜色,该值等于JS值{{ReviewOverall}},我不知道我是否正确地等于它们,但它似乎有效,我面临的问题是背景颜色总是红色,我不确定下面的代码是否正确,请帮助。
我想做的是,如果{ReviewOverall}}值低于7,div背景色为红色,否则为绿色,我想提到{ReviewOverall}}值从0开始到10,例如,当其值为5时,它没有小数,但如果其值为3.1或其他值,则它在点后有一个小数。我正在Wordpress插件编辑器中添加以下代码,提前感谢您的帮助,非常感谢。
<div
class="rwp-users-score <?php if ( $is_UR ) echo \'rwp-ur\' ?>"
<?php $tteg = "{{ reviewsOverall }}"; ?>
<?php if ($tteg < 7): ?>
style=\'background-color: red;\'
<?php elseif ($tteg >= 7): ?>
style=\'background-color: green;\'
<?php else: ?>
style=\'background-color: black;\'
<?php endif ?> >
最合适的回答,由SO网友:Q Studio 整理而成
PHP无法读取JavaScript变量——这是因为它们在PHP运行时根本不可用。
因此,在这种情况下,您最好使用纯JavaScript来完成真正的UI挑战——它还将使您的代码更干净、更有条理。
以下是一个基本(未经测试)解决方案:
<script>
$( function() {
color = \'red\'; // default ##
if ( \'7\' >= reviewsOverall ){
color = \'blue\';
} elseif ( \'7\' < reviewsOverall ){
color = \'pink\';
}
$(\'.rwp-users-score\').css(\'background-color\', color );
});
</script>
此脚本可以内联添加到模板上,也可以添加到脚本中。js文件,包括使用
wp_enqueue_script()
-
https://developer.wordpress.org/reference/functions/wp_enqueue_script/