简单介绍REST API
WordPress REST API提供了一组易于使用的HTTP端点,使您可以以简单的JSON格式访问站点的数据,包括用户,帖子,分类等。检索或更新数据就像发送HTTP请求一样简单。
想要获取您网站的帖子?只需发送GET
请求即可/wp-json/wp/v2/posts
。更新ID为4的用户?发送POST
请求/wp-json/wp/v2/users/4
。获取搜索字词“awesome”的所有帖子?GET /wp-json/wp/v2/posts?search=awesome
。就这么简单。
简单实例
实例教程开始前,请保证您的主题或者插件中没有代码去除了REST API功能,如果有,您可以咨询主题的制作人或者自行百度[aru_42]
1.新建JS文件,将下面代码复制进去(也可以直接用<script>...</script>框起来调用,注释了的地方可以按自己的需求更改)
$('.menu a').click(function(){ target = $(this).attr('goto'); switchTo(target); $('.menu li a').each(function(){ $(this).removeClass('active'); }); $(this).addClass('active'); }); function switchTo(target){ $('.right section').each(function () { $(this).removeClass('active'); }); $(target).addClass('active'); } function getAchives(){ t = ``; $.ajax({ type:"GET", url:"https://www.liues.cn/wp-json/wp/v2/posts?per_page=8&page=1", //这里的网站改成你自己的站点 dataType:"json", success:function(json){ for(var i = 0;i < json.length;i++){ title = json[i].title.rendered; link = json[i].link; time = new Date(json[i].date).Format("yyyy-MM-dd"); t += `<li><a href="${link}" target="_blank">${title} <span class="meta">/ ${time}</span></a></li>`; //这里可以根据需求自己更改样式 $('.archive-list').html(t); } } }) } // 对Date的扩展,将 Date 转化为指定格式的String // 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符, // 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) // 例子: // (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423 // (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18 Date.prototype.Format = function(fmt){ //author: meizz var o = { "M+": this.getMonth() + 1, //月份 "d+": this.getDate(), //日 "h+": this.getHours(), //小时 "m+": this.getMinutes(), //分 "s+": this.getSeconds(), //秒 "q+": Math.floor((this.getMonth() + 3) / 3), //季度 "S": this.getMilliseconds() //毫秒 }; if(/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1,(this.getFullYear() + "").substr(4 - RegExp.$1.length)); for(var k in o) if(new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); return fmt; } $(document).ready(function(){ getAchives(); setTimeout(function(){$(".loading").hide();},1500); });
2.在你的网站上调用这个JS文件
(框起来的直接跳过这一步[aru_51])
3.在你的网站中调用JQuery
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
上面的为BootCDN的CDN,BootCDN ban 了.cc 以及.top 域名,如果为以上域名的请自行下载放本地或者调用其他CDN的js
4.在网站合适的地方加上以下代码
<ul class="archive-list"> <li>Loading...</li> </ul>
效果
如果您完成了所有步骤,那么您将看到和下面图片一样的效果[aru_41]
如果您想要将您的网页美化,那么请自行修改,我的个人主页站izstar.cn就是一个美化的例子[aru_31]
最后
如果您想自定义其他利用REST API实现的实例,请自行脑洞!可以参照官方的介绍自定义:http://v2.wp-api.org/
好了,如果文章中有什么错误,欢迎在评论中指正![aru_46]
2018年8月1日 下午9:15 地板
太强了你[aru_47]
2018年8月2日 上午6:24 1层
@梁兴健 不不不,我就是一个菜鸡[小纠结]
2018年8月1日 下午9:03 板凳
没想到,流星?还是个技术咖,厉害厉害。
2018年8月1日 下午8:57 沙发
看不懂