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

WordPress JSON数据处理函数

9个月前 (08-26)admin网络科技22

在 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数据处理函数” 的相关文章

尽早觉醒:找到自己一人能做的互联网生意

尽早觉醒:找到自己一人能做的互联网生意

没有经历过裁员的职场是不完美的。无论何种原因经历次裁员,可能对心智都是一次提升,前面也写过技术人怎么利用空窗期的文章技术人的空窗期,你的涅槃重生。经历过裁员的时候难免感到复杂和沉重。离开的背后,不仅有情感的波动,还有对未来的深深焦虑。当你被通知离职的那一刻,情绪复杂得难以描述。但是,当冷静下来,你会...

告别焦虑,技术人的“慢功夫”哲学

告别焦虑,技术人的“慢功夫”哲学

我们现在处一个快节奏的时代,每一个行业都在高速发展,我们也常常被告知要抓住每一个机会,快速成长,迅速成功。但对许多技术人来说,所谓的“快”,有时反而会让我们失去平衡,陷入焦虑和迷茫, 常常又进入事倍功半的困境。之前遇到过一位刚入行不久的年轻技术人,他一脸焦虑地问我:“如果我现在不快点提高,是不是以后...

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

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

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

MYSQL字符集有哪些

MYSQL字符集有哪些

MySQL 中的字符集是用来确定数据库中字符数据的编码方式,它决定了如何存储和检索数据。MySQL 中常用的字符集:UTF8:UTF-8 是一种 Unicode 字符编码方式,它可以表示世界上大部分的文字字符。MySQL 中的 UTF8 字符集最多只能存储 3 字节的 UTF-8 编码字符,...

最新免费可用!ChatGPT 4.0/4o/3.5 镜像 Mirror|免翻直链中文镜像(2024年8月更新)

最新免费可用!ChatGPT 4.0/4o/3.5 镜像 Mirror|免翻直链中文镜像(2024年8月更新)

本篇文章目录|Table of Contents Hide ChatGPT 4.0/4o/3.5 镜像站列表ChatGPT镜像更新历史什么是Cha...

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

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

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

发表评论

访客

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