使用JS函数在php模板上运行do_Shortcode

时间:2021-04-26 作者:Norseback

我想使用[jobs] 在我的PHP模板上。我正在使用WP作业管理器插件。示例代码:

<?php
    global $post;
    $company_name = esc_attr(urldecode(get_query_var(apply_filters(\'wp_job_manager_companies_company_slug\', \'company\'))));
?>
    <a href="#" onclick="test(); return false;"> test </a>
    <span id="php_code"> </span>

    <script type="text/javascript">
    function test(){
       phpTest = "<?php echo "json_encode(do_shortcode(\\\'\\[jobs post_status=\'publish\' keywords=\'" .$company_name. "\'\\]\'));"; ?>";
       document.getElementById("php_code").innerHTML = phpTest;
    }
    </script>
这将输出实际文本,但我想实际运行do_shortcode() WordPress的功能,以便输出[jobs] 短代码可以。使用<?php echo do_shortcode(params); ?> 在模板上实际工作。我正在使用单选按钮创建一个自定义函数。

我在互联网上找到的代码参考:https://www.daniweb.com/programming/web-development/threads/312161/php-innerhtml-and-blank-spaces

1 个回复
SO网友:Mike van den Hoek

一个简单的谷歌搜索让我想到了这一点:你不能用javascript运行PHP。JavaScript是客户端技术(在用户浏览器中运行),PHP是服务器端技术(在服务器上运行)。如果要这样做,必须向PHP脚本发出ajax请求,并让PHP脚本返回所需的结果。