2017年8月12日WordPress版微信小程序2.2.0版通过了微信的审核正式发布,此版本的更新以完善功能为主。主要更新的功能是:站内链接,猜你喜欢,热点文章。

WordPress版微信小程序开放源码地址:https://github.com/iamxjb/winxin-app-watch-life.net

了解程序的开发历程及开发技术,建议看看相关版本的更新文章:

1.用微信小程序连接WordPress网站

2.WordPress版微信小程序1.5版本发布

3.WordPress版微信小程序2.0版本发布

4.利用WordPress REST API 开发微信小程序从入门到放弃

5.WordPress版微信小程序2.1.5版发布

6.WordPress版微信小程序2.1.8版发布

以下详细记录2.2.0 版本新增的功能。

1.站内链接

站内链接就是在小程序内部实现链接的跳转。打开文章内容页的时候,小程序会对文章内的链接进行解析,实现跳转或链接复制。文章内容里的链接一般分两种:

1.指向站内的链接,包括文章链接,tag链接,分类链接等等。

2.指向站外的链接。

对于第二种链接情况,由于小程序的限制是无法通过打开链接,点击这类链接的时候,会弹出一个提示:链接已复制 。这样就可以打开手机浏览器,粘贴地址直接访问了。

对于第一种链接情况,大致包括四类的链接:指向首页,指向文章页页,指向tag页,指向分类页。对于指向tag和指向分类页的链接本版本目前尚没有处理,待下个版本完善。

对于指向首页的链接,点击此链接后会跳转到小程序的首页(首页标签)。

对于指向文章页的链接,点击此链接会直接跳转到链接指向的文章页。小程序的页面跳转支持wx.redirectTowx.navigateTo两种方式。wx.redirectTo前者会关掉当前页面,跳转到应用内的页面;wx.navigateToh保留当前页面,跳转到应用内的页面,但是只能有5层跳转,如果超过5次跳转就不响应了。本版本兼容了两种跳转,前5次跳转采用wx.navigateTo(在缓存记录这个点击的次数),超过5次后,采用wx.redirectTo。如果访问一次首页,程序会把这个点击的次数归零,这样又可以wx.navigateTo的方式进行跳转了,如此往复循环。

站内链接功能的实现得益于开源组件wxParsehttps://github.com/icindy/wxParse)提供的支持,在这个解析组件里,提供一个wxParseTagATap事件,点击a标签触发改事件。

注:目前站内链接的功能是基于我网站的WordPress的固定链接(permalink)来解析的,我网站WordPress的固定链接的最后设置了html作为后缀,文章名称的解析也是基于此,如果你的网站固定链接不是这种形式,可能会无法正常跳转。后续,我会考虑兼容多种情况的固定链接。

2.猜你喜欢

这个功能就是在文章的底部出现猜你喜欢的相关文章。

这个功能的实现很简单,就是利用WordPress 的tag(标签)的api,找到相关的文章显示出来。这个功能可以帮助读者阅读更多相关的文章。

3.热点文章

考虑到“浏览记录”这个功能的访问量很低,同时也占用了缓存空间,在这次更新里,取消了这个功能,用热点文章来替代这个功能。

WordPress rest api 中并不提供有关热点文章的api接口,不过提供了扩展api的接口,可以利用这个接口来增加api的功能,同时可以通过插件来实现这个功能,因此本版本需要配合新版本的WordPress插件wp-rest-api-for-app,下载地址:https://github.com/iamxjb/wp-rest-api-for-app

在插件里增加了一个新的api Routes and Endpoints (原理参见:https://developer.wordpress.org/rest-api/extending-the-rest-api/routes-and-endpoints/):

https://www.watch-life.net/wp-json/watch-life-net/v1/

在这个新增的Routes and Endpoints中 ,添加两个功能节点:

https://www.watch-life.net/wp-json/watch-life-net/v1/post/hotpostthisyear    获取本年度最热(评论最多)文章

https://www.watch-life.net/wp-json/watch-life-net/v1/post/hotpost   获取本站最热(评论最多)文章。

功能清单

一直都没有总结WordPress版微信小程序提供的功能,下面列出的是程序的功能清单:

1.缩略图的方式显示文章列表(首页,分类文章),包括显示文章分类和发布时间,加载分页。

2.在首页用轮播方式显示置顶文章。

3.显示文章分类(专题),包括显示分类的封面图片。

4.显示文章内容页,包括文章站内链接跳转,站外链接复制到剪切板,显示猜你喜欢的相关文章。

5.显示文章评论,提交评论和回复评论,加载评论分页,显示微信用户评论者的头像。

6.显示热点文章。

7.显示wordpress“页面”类文字(关于页面)。

8.对文章内容的全文搜索。

9.小程序页面的分享和转发。

10.WordPress 插件的配套功能.

----------------------------------------------------------------------------

欢迎关注我的网站和微信公众号,文章会在我的网站和微信公众号上同步发布。

本文首发链接:https://www.watch-life.net/wordpress/wordpress-weixin-2-2-0.html

我的网站:守望轩

微信公众号名称:守望轩

微信公众号:iwatchlife

你也可以扫描或长按以下二维码

WordPress版微信小程序2.2.0版发布的更多相关文章

  1. WordPress版微信小程序3.1.5版的新功能

    产品的完善是无止境,每过段时间就会发现产品的新问题,使用的人越多,提的需求也会越多,我听得最多的一句话就是:如果加上某某功能就完美了.其实,完美是不存在的,每个人的视角不一样,完美的定义也是不一样的. ...

  2. WordPress版微信小程序2.2.8版发布

    距离上次更新已经一个月了,这期间对WordPress版微信小程序 做的不少小的更新和性能的优化,此次版本更新推出了两个比较重点的功能:点赞和赞赏.同时,优化了文章页面的功能布局,在评论区把常用的功能: ...

  3. WordPress版微信小程序2.1.8版发布

    近来的工作比较多,同时也在思考这个项目未来的发展方向,尽管不断有新的wordpress站长,利用我的开源程序搭建了微信小程序,但个人对这个项目的热情日渐减少,促使我不断完善和维护这个开源项目的动力也再 ...

  4. WordPress版微信小程序2.1.5版发布

    WordPress版微信小程序功能已经基本完善,利用这套程序,搭配WordPress提供的rest api,WordPress网站的站长可以快速搭建属于自己的网站微信小程序 . WordPress版微 ...

  5. WordPress版微信小程序3.0版发布

    距离WordPress版微信小程序上一个版本的发布过去了一个月了.在此间,我的工作有些变化,加上正在开发新版本,目前开源版的完善和升级稍稍有些滞后. 虽然这个版本是3.0版,期间有个过渡的2.8版,不 ...

  6. WordPress版微信小程序2.6版发布

    WordPress版微信小程序的完善和升级的工作一直都在进行中,我争取保证一个月可以出一个版本,希望通过一点点的改进,让这个开源产品日趋完美. 同时,pro版WordPress微信小程序也在紧锣密鼓的 ...

  7. WordPress版微信小程序2.4版发布

    自从发布2017年9月16日WordPress版微信小程序2.2.8版本后,这个一个多月来,WordPress版微信小程序,在经过一些比较小的更新后,今天发布阶段性的版本:2.4版 .这版本主要是功能 ...

  8. WordPress版微信小程序安装使用说明

    昨天在群里,有刚刚使用WordPress版微信小程序朋友,在问安装过程中的问题,这些问题是经常被问到,这至少说明两个问题: 1.我开发的程序安装和使用不够简易,无法通过简单的配置就可以使用,特别是如果 ...

  9. WordPress版微信小程序开发系列(二):安装使用问答

    自WordPress版微信小程序发布开源以来,受关注的程度超过我原来的想象.这套程序主要面对的用户是wordpress网站的站长,如果wordpress站想在微信的生态圈得到推广,小程序成为一种重要的 ...

随机推荐

  1. 把旧系统迁移到.Net Core 2.0 日记 (20) --使用MiniProfiler for .NET

    要查看页面耗时,EFCore的性能. 安装 MiniProfiler.AspNetCore.Mvc 还有  MiniProfiler.EntityFrameworkCore Install-Packa ...

  2. 浅谈jQuery的promise

    jquery中的Promise,也就是我们所知道的Deferred对象. 举例1: var data=""; function runAsync(){ var def = $.De ...

  3. SSM 框架 整合<SpringMVC+Spring+MyBatis>

    一 框架的搭建1.建立一个maven项目 2.建立五个module(entity,dao,service,action,web-view) 3.给予它们之间的依赖关系 dao-->entity ...

  4. unity中鼠标左键控制摄像机视角上下左右移动

    enum RotationAxes { MouseXAndY, MouseX, MouseY } RotationAxes axes = RotationAxes.MouseXAndY; //@Hid ...

  5. day058 聚合 分组查询 自定义标签过滤器 外部调用django环境 事务和锁

    1.聚合(aggregate) 聚合的主要语法: from django.db.models import Avg , Max , Min , Count models.类名 .objects.all ...

  6. equals方法使用技巧

    Object类中的equals方法用于检测一个对象是否等于另外一个对象.在Object类中,这个方法将判断两个对象是否具有相同的引用. 如果两个对象那个具有相同的引用,他们一定是相同的,从这方面看,将 ...

  7. List集合1

    一.List接口介绍 List继承自Collection接口,是单列集合的一个重要分支,习惯性的会将实现List接口的对象称为List集合 二.List接口3个特点 1.有序(有序不是顺序,有序指的是 ...

  8. Linux:CentOS 7系统的安装

    相信有看过我写的博文就知道我写的第一篇博文就是CentOS 7系统的安装,不过是在虚拟机中安装的,而且还是直接加载镜像文件进去的,不过这次我就通过PE来安装,来证实下PE是否可以用来安装Linux系统 ...

  9. 使用mybatis调用存储过程(注解形式和配置文件形式)

    最近在看资料中涉及到mybatis,突然想到mysql中的视图.存储过程.函数.现将在使用mybatis调用mysql的存储过程使用总结下: 使用的环境:mybatis3.4.6,mysql 5.6, ...

  10. Xcode 和 VisualC++输出流的差别的理解

    将这样一段程序分别运行与Visual Studio 和 Xcode上边的结果: #include <iostream> using namespace std; int main() { ...