将JS值设置为PHP变量,以使用PHP If Else语句更改div背景颜色

时间:2020-12-30 作者:WordPressGeek

我有下面的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 ?> >

1 个回复
最合适的回答,由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/