WordPress wp_remote_get 函数远程获取的正确用法

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,争取做到万无一失。

本文链接:https://www.abcziyuan.com/wordpress-wp_remote_get.html

开通VIP会员
分享到: 生成海报
免责声明1. 本站所有资源来源于用户上传和网络,均不允许转载,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 如发现会员转载本站资源文章,本站有权封禁会员账号!
4. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
5. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
6. 如有链接无法下载、失效或广告,请联系管理员处理!
7. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
8. 如遇到加密压缩包,默认解压密码为"www.abcziyuan.com",如遇到无法解压的请联系管理员!
开通VIP会员
切换注册

登录

忘记密码 ?

切换登录

注册

我们将发送一封验证邮件至你的邮箱, 请正确填写以完成账号注册和激活