用户登录
用户注册

分享至

wordpressapijson

  • 作者: 萬千寵愛-范范
  • 来源: 51数据库
  • 2020-04-21

1.求解,wordpress 怎么接收api返回的json

某个请求返回JSON之后,使用PHP函数json_decode()解析即可: 先定义一个检测返回数据是否有效的函数:<?php *="" *="" 验证返回的有效性="" *="" @param="" [type]="" $response="" [description]="" *="" @return="" [type]="" [description]="" *="" @author="" suifengtec="" coolwp.com="" */function="" validate_raw_response(="" $response="" )="" {="" if(="" is_wp_error(="" $response="" )="" )="" return="" false;="" $response_code="wp_remote_retrieve_response_code(" $response="" );="" if(="" false="==" strstr(="" $response_code,="" '200'="" )="" )="" return="" false;="" return="" true;}2.="" 据url和参数返回数据,数据有效了返回,无效了返回false:="" *="" *="" 据提供的url和参数请求数据="" *="" @param="" [type]="" $url="" [description]="" *="" @param="" [type]="" $args="" [description]="" *="" @return="" [type]="" [description]="" *="" @author="" suifengtec="" coolwp.com="" */function="" trigger($url,="" $args)="" {="" fire="" request="" $response="wp_remote_request(" $url,="" $args="" );="" validate="" raw="" response="" if(="" validate_raw_response(="" $response="" )="==" false="" )="" {="" return="" false;="" }="" decode="" the="" response="" $_response="json_decode(" wp_remote_retrieve_body(="" $response="" )="" );="" response="" should="" be="" an="" object="" if(="" !="" is_object(="" $_response="" )="" )="" {="" return="" false;="" }="" return="" $_response;}="">

2.如何快速为wordpress网站开发对外的数据接口

如何快速为wordpress网站开发对外的数据接口

随着移动互联网的发展,越来越的传统站点都在为移动化做努力,如开发一套手机专用的网站主题,甚至专门为其开发app!但是开发app(非嵌入移动版网页的PhoneGap),就会涉及到接口调用!如何才能在不影响网站原来内容、模板的情况下快速开发出可供第三方调用的数据接口呢?

也许有同学会说,wordpress具有强大的主题切换能力,通过一个简单的主题预览插件就可以实现不同主题显示不同的内容,接口就在另一个主题下实现!

没错,这种方式确实可以,但是由于wordpress目前cms功能越来越强大,很多网站都使用了自定义模板、register_post_type、register_nav_menus等功能,wordpress的主题切换不能很好的兼容这些地方(即使register_post_type代码照搬)。即使克服了以上的困难,如果以后网站增加版块或者新功能,要维护就得同时改动网站主题和api主题模板,工作量巨大。

那么有没有什么简单的方法呢?

当然有,不然我在这里罗里吧嗦开头那些屁话干啥!我的这个方法可以在原有的主题基础上进行方便的接口开发。

如何做呢?

首先在网站所用主题的functions.php文件中增加以下代码:

1: if(isset($_GET['json'])){

2: add_filter('template_include','wp_my_api');

3: }

4: function wp_my_api($template){

5: return preg_replace('#([^/]+\.php)#','api/$1',$template);

6: }

然后在网站当前所用主题目录下新建一个文件夹,名字为“api”。然后把主题下的模板文件复制进api文件夹里,就可以对这些模板进行接口数据转化了。比如输出json或者xml等。

这种方法原理就是将wordpress的模板重新定义到api文件下寻找同名模板文件。如果你愿意做更多的探寻,还可以实现更加智能的接口模板匹配功能出来。我这里就展示了最简单的方法。

这种方法完全不影响网站原有的模板文件,不需要改动任何原有模板,接口的实现在api文件夹下的同名文件里实现。

使用示例

要将你的主题下的page.php模板进行json化输出,只需要在api文件下新建一个叫page.php的模板(或者复制page.php过来),里面写入:

1: <?php //这里偷懒了,直接将wordpress的$wp_query对象json化输出,实际中最好提取自己需要的内容输出,以减少/pagename,其对应的接口地址就是/pagename?json。如果要调试,查看json接口,可以加上debug参数,如/pagename?json&debug。

是不是很简单呢?如果你的网站不需要这个接口了,只需要直接删除api文件夹就行了。

3.如何使用wordpress json

在 PHP 5.2+ 的版本中使用 JSON 去解码数组是非常容易的事情,只需要使用 json_enconde()这个 PHP 函数,但问题是 WordPress 到目前为止还是支持 PHP 4.3,所以为了保证插件最大的兼容性,在 WordPress 中使用 JSON 的时候,需要额外的第三方类库,如我的 Thread Twitter 就是用一个第三方的 JSON Class。

其实 WordPress 安装包中已经含有了这样 JSON 类库,你只需要在你插件中引入下面这个文件 /wp-includes/js/tinymce/plugins/spellchecker/classes/utils/JSON.php 即可,下面是一个详细的使用例子:

require_once(ABSPATH.”/wp-includes/js/tinymce/plugins/spellchecker/classes/utils/JSON.php”);

$json_obj = new Moxiecode_JSON();

/* encode */

$json = $jsonobj->encode(array(”key1〃=>”value1〃,”key2〃=>”value2〃));

//$json should have {”key1〃:”value1〃,”key2〃:”value2〃}

/* decode */

$json_array = $json_obj->decode($json);

//$json_array will be an array(”key1〃=>”value1〃,”key2〃=>”value2〃)

转载

4.如何禁用WordPress 4.4中的JSON REST API功能

// 屏蔽 REST APIremove_action( 'init', 'rest_api_init' );remove_action( 'rest_api_init', 'rest_api_default_filters', 10 );remove_action( 'parse_request', 'rest_api_loaded' );add_filter('rest_enabled', '__return_false');add_filter('rest_jsonp_enabled', '__return_false');。

5.wordpress能生成客户端吗

今天在研究如何给自己的wordpress制作一个APP客户端,无非I就是Android和ios上的。

由于我不是专业的程序开发人员,所以研究起来是相当困难的,下面就分享一下给制作wordpress APP的心得吧,或许能够给你一个制作思路吧1、获取到wordpress API数据,安装json API插件,就能得到wordpress Json API数据了2、下载appcan软件,就能够像做网页一样地开发自己的app了。我在制作过程中,能够在app上通过API获取到博客的数据,可以说,做一个纯粹的图文版的APP是没问题的,但是要实现更多功能就感觉心力憔悴啊。

到现在,我觉得放弃折腾APP代码,因为我相信不久之后,每个人都能开发自己的APP,并且相当的简单,功能更强大。

6.wordpress能生成客户端吗

今天在研究如何给自己的wordpress制作一个APP客户端,无非I就是Android和ios上的。由于我不是专业的程序开发人员,所以研究起来是相当困难的,下面就分享一下给制作wordpress APP的心得吧,或许能够给你一个制作思路吧

1、获取到wordpress API数据,安装json API插件,就能得到wordpress Json API数据了

2、下载appcan软件,就能够像做网页一样地开发自己的app了。

我在制作过程中,能够在app上通过API获取到博客的数据,可以说,做一个纯粹的图文版的APP是没问题的,但是要实现更多功能就感觉心力憔悴啊。到现在,我觉得放弃折腾APP代码,因为我相信不久之后,每个人都能开发自己的APP,并且相当的简单,功能更强大。

转载请注明出处51数据库 » wordpressapijson

软件
前端设计
程序设计
Java相关