首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >plugin中的JavaScript

问plugin中的JavaScript
EN

WordPress Development用户
提问于 2018-08-27 21:42:52
回答 1查看 781关注 0票数 0

我正在编写一个插件(用PHP)来输出array。

得到的数组应该是一些JavaScript文件的输入,该文件根据数组输出图表(.png图像)。

考虑到这一点,我应该从plugin中将变量传递给JavaScript (见这里)。

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

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

简而言之:

我如何调用JS文件,通过一个普通插件将一个变量传递给它?

EN

回答 1

WordPress Development用户

回答已采纳

发布于 2018-08-28 00:40:55

因此,您链接到的问题和回答仍然有效,唯一更改的部分是AJAX部分。

具体来说,现在有两种选择:

  • Admin :一个遗留的API,大多数教程都会使用它,但它的安全性要难得多,而且提供的帮助很少或根本没有。如果它没有得到正确的实现,那么您将没有任何线索说明它为什么不起作用。
  • REST端点:这些端点返回JSON,并且有更多的支持和帮助结构。您可以在请求中定义您期望的参数,如果您没有包含它们,它会告诉您,等等--这要容易得多,更新得多

例如,让我们添加一个端点:

代码语言:javascript
复制
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以获得结果:

代码语言:javascript
复制
function tomjn_rest_test( $request ) {
        return "moomins";
}

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

代码语言:javascript
复制
<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>
票数 2
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/312645

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档