当前位置:首页 > 网络科技 > WordPress JSON数据处理函数

WordPress JSON数据处理函数

1年前 (2024-08-26)admin网络科技52

在 WordPress 开发中难免遇到数据接口的对接和开发适配,而子凡作为 WordPress 的深度爱好者来说更是习惯使用 WordPress 系统封装的函数,所以但就 json 数据来说,WordPress 就定义了一堆的函数,由于最近在升级一些之前的 json 数据接口,所以顺便就来记录一下 WordPress json 数据处理函数及使用。

wp_json_encode

1
wp_json_encode( mixed $data, int $options, int $depth = 512 )

php json_encode 的升级版本,将变量编码为 JSON,并进行一些完整性检查。WordPress 5.3.0 不再处理对 PHP < 5.6 的支持。 wp_json_encode 函数默认也是通过 json_encode 编码,如果不成功则会使用 _wp_json_sanity_check 对数据做完整性处理,然后再用 json_encode 编码。所以使用 wp_json_encode 进行 json 数据编码可靠性更高。 如果想要提高中文的可读性,防止 json 编码把中文转换成 unicode,所以可以设置$options 参数为 JSON_UNESCAPED_UNICODE,这样中文就不会被转码,就能被直接识别。

wp_send_json

1
wp_send_json( mixed $response, int $status_code = null, int $options )

直接发送通过 wp_json_encode 编码的数据。使用 wp_send_json() 后不需要包含 wp_die() 或 exit(0),因为它会自动调用 wp_die()。

wp_send_json_success / wp_send_json_error

1
2
wp_send_json_success( mixed $data = null, int $status_code = null, int $options )
wp_send_json_error( mixed $data = null, int $status_code = null, int $options )

wp_send_json_success 响应对象将始终具有 success 值为 的键 true。如果有任何东西传递给函数,它将被编码为 data 键的值。

wp_send_json_error 响应对象将始终具有 success 值为 的键 false。如果在参数中将任何内容传递给函数$data,它将被编码为 data 键的值。wp_send_json_error 会判断 $data 数据是否为 WP_Error 实例,如果是则输出 code 和 message 的数组。

wp_is_json_request

检查当前请求是 JSON 请求,或者返回 JSON 结果,这个函数没有参数,直接使用:wp_is_json_request()。如果 Accepts 或 Content-Type 标头包含 application/json 则为真,否则为假。

wp_is_jsonp_request

检查当前请求是 JSONP 请求,或者返回 JSONP 结果,这个函数没有参数,直接使用:wp_is_jsonp_request()。它首先判断 $_GET[‘_jsonp’] ,是否存在,然后通过函数 wp_check_jsonp_callback 判断它的值是否合法。

wp_check_jsonp_callback

1
wp_check_jsonp_callback( string $callback )

检查 JSONP 回调是否是有效的 JavaScript 回调名称。回调函数名称中只允许字母数字字符和点字符。这有助于缓解直接输出用户输入引起的 XSS 攻击。

更多关于WordPress优化及疑问可以添加留言

w.haolusi.com

本文链接:https://w.haolusi.com/wordpress-json.html

扫描二维码推送至手机访问。

版权声明:本文由豪鲁斯兴趣网发布,如需转载请注明出处。

本文链接:https://w.haolusi.com/?id=1763

标签: WordPress优化
分享给朋友:

“WordPress JSON数据处理函数” 的相关文章

Essential Strategies for Enhancing Cybersecurity in the Digital Age

Essential Strategies for Enhancing Cybersecurity in the Digital Age

With the rapid development of Information Technology, Cybersecurity has become an essential issue in modern Society. Cybersecurity...

Streaming Services: Revolutionizing Entertainment

Streaming Services: Revolutionizing Entertainment

Streaming Services have revolutionized the way we consume media, transforming entertainment from scheduled broadcasts to on-demand experiences. P...

WordPress如何将管理员用户主页改为网站首页

WordPress如何将管理员用户主页改为网站首页

最近在做 WordPress 站群的一些项目测试,主题在调用作者的时候就会链接到作者主页,加上很多时候 WordPress 网站就只会使用一个账户来发布文章,虽然可以通过修改主题代码的方式将作者的链接直接链接到网站首页,但是作为一个优雅的 WordPress 开发者来说,肯定是不会轻易动主题源码的,...

WordPress标签实现追加自定义链接

WordPress标签实现追加自定义链接

WordPress 标签的用处说多不多,说少不少,其中利用 WordPress 标签做聚合页面优化是一种搜索引擎很喜欢的方式,或者说很多搜索引擎相比正文页面而言更喜欢抓取和收录标签页面,其次对于 WordPress 标签的作用就是用于文章关键词调用以及文章内链。那么今天子凡我我将利用几行代码来实现给...

最新可用!2024年最新Github镜像,更快部署下载(2024年08更新)

最新可用!2024年最新Github镜像,更快部署下载(2024年08更新)

本篇文章目录|Table of Contents Hide Github:伟大的共建社区01.GitHub 镜像可用站点02.GitHub-建设未...

MySQL如何选择utf8mb4_general_ci和utf8mb4_0900_ai_ci字符集排序规则

MySQL如何选择utf8mb4_general_ci和utf8mb4_0900_ai_ci字符集排序规则

最近在做一些关于新项目的规划和测试,那么既然是要做新的项目当然首先要考虑的就是最新的技术标准,也把开发环境都统一升级了一遍,而在做 MySQL 数据库创建的时候就发现了一个小小的变化,本着对技术的执着那么就不得不来一探究竟。正式生产环境本着稳定高于一切的宗旨,所以也就不太可能做到数据库方面的升级保持...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。