JavaScript in a PHP plugin

时间:2018-08-27 作者:N. H. Deutschland

我正在编写一个插件(在PHP中),它输出array.

生成的数组应该是某个JavaScript文件的输入,该文件根据数组输出图表(.png图像)。

考虑到这一点,我应该将变量从PHP插件传递给JavaScript(如图所示here).

我想知道使用插件的过程是否与普通PHP文件不同。。。

JS图表应根据用户操作显示。

简而言之:

如何调用JS文件,通过普通插件向其传递变量?

1 个回复
最合适的回答,由SO网友:Tom J Nowell 整理而成

所以问题是answer 您链接到的仍然有效,唯一更改的部分是AJAX部分。

具体而言,现在有两种选择:

管理AJAX API:一个遗留API,大多数教程都会使用它,但它的安全性要高得多,提供的帮助很少甚至没有。如果没有正确实现,您将无法找到REST API端点为什么不工作的线索:这些端点返回JSON,并且具有更多的支持和帮助结构。您可以在请求中定义所需的参数,它会告诉您是否未包含这些参数,等等。这更简单、更新,例如,让我们添加一个端点:

add_action( \'rest_api_init\', function () {
        register_rest_route( \'tomjn/v1\', \'/test/\', array(
                \'methods\' => \'GET\',
                \'callback\' => \'tomjn_rest_test\'
        ) );
} );
这表示GET 请求发送至/wp-json/tomjn/v1/test 调用函数tomjn_rest_test 要获得结果,请执行以下操作:

function tomjn_rest_test( $request ) {
        return "moomins";
}

enter image description here

然后我们可以在javascript中获取它,下面是一个jQuery示例:

<script>
jQuery.ajax({
    url: <?php echo wp_json_encode( esc_url_raw( rest_url( \'tomjn/v1/test\' ) ) ); ?>
}).done(function( data ) {
    jQuery( \'#tomsword\' ).text( data );
});
</script>

结束