资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

json数据wordpress json数据结构

wordpress 主题中 widget_data.json wordpress.2016-11-25.xml、这两个文件要上传到后台的哪个文件夹里?

看名字,一个是小工具的配置数据

专注于为中小企业提供网站设计制作、成都网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业丰都免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了1000+企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

一个是文章数据,

这两个都是演示数据,xml文件使用wordpress导入工具导入

json看主题后台设置面板有没有位置导入。

wordpress在哪里添加熊掌号ID声明代码?

WordPress添加熊掌号的json_id结构化数据代码如下:

PHP代码,用于获取文章摘要内容,代码添加在当前主题functions.php中

?php//获取文章/页面摘要

function fanly_excerpt($len=220){

if ( is_single() || is_page() ){

global $post;

if ($post-post_excerpt) {

$excerpt  = $post-post_excerpt;

} else {

if(preg_match('/p(.*)\/p/iU',trim(strip_tags($post-post_content,"p")),$result)){

$post_content = $result['1'];

} else {

$post_content_r = explode("\n",trim(strip_tags($post-post_content)));

$post_content = $post_content_r['0'];

}

$excerpt = preg_replace('#^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,0}'.'((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$len.'}).*#s','$1',$post_content);

}

return str_replace(array("\r\n", "\r", "\n"), "", $excerpt);

}}?

json_id数据,添加在head头部中:

script type="application/ld+json"{

"@context": "",

"@id": "?php the_permalink(); ?",

"appid": "这里请填写熊掌号ID",

"title": "?php the_title(); ?",

"images": ["?php echo catch_that_image() ?"],

"description": "?php echo fanly_excerpt()?",

"pubDate": "?php echo get_the_time('Y-m-d\TH:i:s')?",

}/script

appid就是熊掌号ID,自己修改一下即可。

以上代码来源于泪雪博客:网页链接 版权归属原作者

求解,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;

}

祝愉快!

如何快速为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化输出,实际中最好提取自己需要的内容输出,以减少http传输量

2: header("Content-type:application/json");

3: if(isset($_GET['debug'])){

4: print_r($wp_query);

5: }else echo json_encode($wp_query);

比如网站有个页面,地址是,其对应的接口地址就是。如果要调试,查看json接口,可以加上debug参数,如;debug。

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


本文标题:json数据wordpress json数据结构
网站地址:http://cdkjz.cn/article/dopicdg.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220