PHP变量中的Wordpress函数


Wordpress function inside PHP variable

我需要在这样的php变量中放入一个短代码。

<?php
var Variable = "<div class='container-uppotential'>
                </div>
                <div class='container-historialdepagos'>
                </div>
                <?php echo do_shortcode('[mper_account_form]');?>
               ";
return Variable;
?>

但它不是那样工作的。你知道我如何让这个代码像示例中那样工作吗?

首先,您在php中,然后您的变量应该以$符号开始,然后您将html标记保存在一个变量中,并输出它,最后,在所有标记之后插入您的快捷代码。(顺便说一句,你在shorcode中有一个拼写错误,是mepr而不是mper吗)

<?php
    $variable = "<div class='container-uppotential'>
                    </div>
                    <div class='container-historialdepagos'>
                    </div>";
    echo $variable;
    echo do_shortcode('[mepr_account_form]');
    ?>

PHP在发送任何内容到浏览器之前执行。PHP不是在浏览器中执行的,而是由服务器执行的。

您正在尝试用Javascript发出PHP代码。Javascript在浏览器中执行。当Javascript被执行时,PHP的执行已经结束很久了。服务器从未看到PHP代码。

基本上,你不能用Javascript发出PHP并期望它工作。您可以在PHP中发出Javascript,因为PHP将首先执行,生成的Javascript将被发送到浏览器,然后在浏览器中执行Javascript。

想象一下,微波炉运转一分钟,然后放一杯水进去。水不会被加热,因为你在水加热过程后加入了水。

如果我是你,我会调用do_shortcode()并将结果保存在PHP变量中,然后将该变量的内容发送到Javascript中。这样一来,PHP的执行就发生在PHP执行阶段。

现在,如果您依赖Javascript来设置PHP函数所依赖的一些状态,那么下一步您将使用类似AJAX的东西,并编写一个独立的PHP servlet,它从AJAX调用中获取状态信息,执行PHP以生成所需的输出,然后Javascript在AJAX组件中显示结果。

我在您的代码中看到的唯一问题是Javascript不允许字符串包含换行符,所以如果您想在多行上使用换行符,则需要将其拆分。

var Variable = "<div class='container-uppotential'>" + 
                "</div>" +
                "<div class='container-historialdepagos'>" +
                "</div>" + 
                "<?php echo do_shortcode('[mper_account_form]');?>";
return Variable;