欢迎您光临自学哈网,只为分享网络知识教程,供大家学习参考!

「自学哈网」WordPress wp_remote_get 函数远程获取的正确用法

作者 : 自学哈 本文共1106个字,预计阅读时间需要3分钟 2022-11-26 共96人阅读
也想出现在这里? 联系我们

WordPress可以通过 wp_remote_get() 或者 wp_remote_post() 非常容易的获取到远程文件的内容或者信息,取代了php的 file_get_contents 函数或者 cURL,但是子凡在最近开发的一些插件功能却发现打开的方式不对,某些情况下会提示:Fatal error: Cannot use object of type WP_Error as array… 的类似错误,并且还会引起插件页面空白的情况。

最近子凡的 Fanly Submit插件还算深受WordPress熊掌号用户的喜欢,也因此在不断的升级改版中加入了和完善了许多功能,从熊掌号的内测到开放,插件已经更新了无数次,所以为了能够第一时间让用户看到插件是否有更新,所以就不得不接入了泪雪建站的接口,以此来告诉提示用户拥有新版本可以更了。

为此就使用到了WordPress提供的 wp_remote_get 函数,来获取插件的最新版本号,但是新版本发布后几天就有一个用户反馈说升级插件后设置页面出现空白,或者提示:Fatal error: Cannot use object of type WP_Error as array in… 的错误信息,刚开始插件设置页面空白并没有发现是 wp_remote_get 函数引起的,也是子凡的一个大意,通过函数直接获取远程链接的信息,而并没有判断获取到的信息是否错误或者失败,所以才导致了这样一个问题,毕竟我们无法保证当前网站服务器是否能够正常的访问和获取原创服务器的数据,所以判断是很有必要的,正所谓吃一堑长一智,子凡算是长记性了。

那么今天子凡就分享一个 wp_remote_get 函数正确的使用方法吧!

1
2
3
4
5
6
// wp_remote_get 函数正确使用方法
$response = wp_remote_get( \'https://zhan.leiue.com?plugin=Fanly Submit\' );
if ( is_array( $response ) && !is_wp_error($response) && $response[\'response\'][\'code\'] == \'200\' ) {
	$header = $response[\'headers\']; // array of http header lines
	$body = $response[\'body\']; // use the content
}

以上代码示例判断了三个条件,首先肯定是判断获取的数据是否是数组,这也是 WordPress 官方对 wp_remote_get 函数的默认示例方法,而子凡认为还有必要使用 is_wp_error 函数来判断错误,同时还判断了返回的状态码是否为200,争取做到万无一失。

本站声明:
本站所有资源来源于网络,分享目的仅供大家学习和交流!如若本站内容侵犯了原著者的合法权益,可联系邮箱976157886@qq.com进行删除。
自学哈专注于免费提供最新的分享知识、网络教程、网络技术的资源分享平台,好资源不私藏,大家一起分享!

自学哈网 » 「自学哈网」WordPress wp_remote_get 函数远程获取的正确用法
也想出现在这里? 联系我们
© 2022 Theme by - 自学哈网 & WordPress Theme. All rights reserved 浙ICP备2022016594号