让Wordpress成为你微信小程序的文章管理利器

简介: wordpressWordpress,相信很多很多人都用过,是一款大名鼎鼎的内容管理系统(CMS),因其社区的强大,插件的丰富,用它来建网站和博客真的是非常方便好用。
wordpress

Wordpress,相信很多很多人都用过,是一款大名鼎鼎的内容管理系统(CMS),因其社区的强大,插件的丰富,用它来建网站和博客真的是非常方便好用。它拥有功能强大的管理后台,使得对目录、文章以及标签的创建和管理,都变得轻松简单。

我们在设计和开发我们的微信小程序的时候,可能会遇到需要创建和管理一系列文章类型的内容,比如一个法律手册小程序,或是一个菜谱小程序。这种时候,我们有两种选择:

  • 自己开发一个文章管理功能
  • 借助现有的CMS产品

自己开发一个固然不错,可以根据自己的实际需要,来灵活的进行功能的定制。但是,要开发好一个这样的功能,还是需要一定的工作量的。快速开发出一个产品并投入市场,去验证自己的产品设想是否正确,是一个非常重要的事情。我们要适当的采用拿来主义,争取节约开发产品的周期。从这一点出发,Wordpress就为我们在内容管理这类需求上面,提供了一个很好很现成的工具。

好了,闲话不多说,我们来看一下怎么让Wordpress成为我们的微信小程序的内容发动机。

架构概览

在服务器端,我们分为主管业务的后端程序和主管文章内容的Wordpress程序,它们都通过Nginx或Apache进行代理,向外暴露服务接口(或者你不想让外面直接访问你的wordpress的话,wordpress可以省去代理,藏在服务器内部,仅提供来自主业务后端程序的访问)。

然后小程序客户端方面,就可以通过Nginx暴露出来的接口,访问到主业务提供的服务和wordpress的服务。

架构

安装Wordpress与设置

Wordpress安装的教程网上太多了,我就不详细介绍了,自行搜索吧。安装完成后,你就可以登录它的管理后台,进行文章和目录之类的撰写管理了。

Wordpress管理后台

下一步,我们要让外部程序可以更方便的调用Wordpress的功能,让我们可以通过REST API来操作和获取Wordpress中的数据。Wordpress可以通过安装插件来提供这样的功能,而且类似功能的插件不止一个。我在这里,使用了一个名为Wordpress Rest API的插件,这个插件提供的功能比较全面一些,而且在最新版本的Wordpress中,它的功能已经被官方作为基础功能集成进了Wordpress中,所以比较推荐使用。

安装并在插件管理页面启用这个插件以后(怎么安装和启用我不赘述了,简单的令人发指,自行搞定吧),我们就拥有了通过REST API操作Wordpresss的能力。

比如通过发起GET请求URL地址:http://your-domain/wp-json/wp/v2/posts,我们就可以获取到JSON格式的Wordpress中的文章列表。当然,也可以通过POST请求,DELETE请求等,执行创建和删除文章的操作。

你可以点击这个链接,看一下输出的示例数据

更多功能呢,可以查看插件使用手册

了解了这一点,我们就可以对Wordpress中的内容进行进一步的开发利用了。

开发

至此,小程序就可以直接调用暴露出来的Wordpress REST API了,例如:

wx.request({
  url: 'https://your-domain/wp-json/wp/v2/posts', 
  header: {
      'content-type': 'application/json'
  },
  success: function(res) {
    console.log(res.data)
  }
})

但是,为了保证入口的统一性,以及有可能对从Wordpress中的数据需要进行二次加工的便利性,我们推荐从主业务后端程序中发起对Wordpress的REST API调用。

比如我要做一个从Wordpress中搜索我的文章的功能。我会从我的Node.js写的后端程序中发起对Wordpress REST API的调用,代码大致像这样的(其他后台语言可以做个参考):

post.service.js

const request = require('request')
const errors = require('../consts/errors')
const WP_JSON_API = 'https://xxxxxx/wp-json/wp/v2'

function search(keyword) {
  return new Promise((resolve, reject) => {
    // 调用Wordpress:
    // https://xxxxxx/wp-json/wp/v2?per_page=10&search=xxxx
    request.get(`${WP_JSON_API}/posts`, {
      json: true,
      qs: {
        per_page: 10,
        search: keyword
      }
    }, (err, resp, result) => {
      if (err) {
        reject(errors.KW_SEARCH_POST_FAIL)
      } else {
        // result就是从wordpress中获取到的JSON数据了
        // 你可以在这里对数据再做一些额外的加工,比如去掉数据我们不需要的字段等等...
        resolve(result)
      }
    })
  })
}

post.route.js

const express = require('express')
const router = express.Router()
const resUtil = require('../lib/util/response')
const postService = require('../../services/post')

// 这是实际给小程序调用的API
// https://xxxxx/api/posts/search?keyword=xxxx
router.get('/api/posts/search', async (req, res) => {
    try {
      const keyword = req.query.keyword
      const posts = await postService.search(keyword)
      resUtil.success(res, posts)
    } catch (e) {
      resUtil.error(res, e)
    }
  })

然后,微信小程序客户端程序代码就可以调用我们主业务后端代码中提供的搜索文章的API了:

wx.request({
  url: 'https://your-domain/api/posts/search', 
  data: {
    keyword: '这里是搜索关键字'
  },
  header: {
      'content-type': 'application/json'
  },
  success: function(res) {
    console.log(res.data)
  }
})

相信你看懂了这些,就能更有效的对Wordpress进行开发利用了。而且不止是对Wordpress,很多有用的开源软件,我们都可以用类似的方法加以利用,节约我们开发产品的时间,为我们带来更多的机会。

目录
相关文章
|
6月前
|
缓存 JavaScript 数据库
如何快速地将WordPress文章内所有外部图片转换为本地链接?
nicen-localize-image 是一款适用于 Wordpress 的插件,旨在本地化文章中的外部图片。主要功能包括:发布前通过编辑器插件本地化、手动发布时自动本地化、定时发布时自动本地化以及批量本地化已发布文章的图片。支持自定义保存路径、添加 alt 属性优化 SEO
182 60
|
6月前
如何将WordPress文章中的外链图片自动下载到本地?
在WordPress中使用外链图片可能影响稳定性与加载速度,而手动下载上传又过于繁琐。为此,推荐一款强大的开源插件——**nicen-localize-image**。它可自动将外链图片保存到本地,支持文章发布前、手动发布、定时发布时自动本地化,以及对已发布文章进行批量处理。插件功能丰富、操作简单,有效提升效率,确保图片资源的稳定性和页面性能。
130 3
|
7月前
|
搜索推荐
WordPress文章配图插件
文章配图插件可自动为文章创建缩略图并添加图片,支持背景颜色、本地图片和Pixabay图片三种配图方式。功能包括设置缩略图参数、添加标题文字、虚化背景、生成特色图片等。注意事项涵盖主题兼容性、图片来源限制及文件管理。更新后新增多图添加、Pixabay搜索配图等功能,提升使用灵活性与内容丰富度。
138 9
|
7月前
|
PHP
WordPress微信公众号同步助手插件
该内容介绍了网站与微信公众号之间的文章同步功能,支持自动和手动两种方式。功能包括设置作者、封面、评论等,可将多篇文章合并同步或批量操作。特别提示:需确保微信公众号已认证以使用群发接口,且注意接口限制和资源文件格式要求。同时说明了从公众号同步至网站的限制及注意事项,如无法同步已群发文章等。更新记录显示新增了封面图片获取顺序设置。
526 0
|
7月前
|
关系型数据库 MySQL 索引
WordPress文章推荐插件
这是一款功能强大的WordPress插件,支持在文章底部和侧边栏推荐最新、随机、相关文章及标签。主要特点包括:无需依赖文章标签即可实现相关文章推荐;支持全文索引搜索,提升搜索速度与准确性;可自定义侧边栏HTML模板和样式;兼容默认搜索功能替换,优化搜索体验。插件适合技术新手和进阶用户,提供免费技术支持,但默认列表样式如需改为图文样式需额外收费。注意:全文索引功能需MySQL 5.7及以上版本。
103 0
|
7月前
|
自然语言处理 PHP SEO
WordPress文章自动标签插件
文章自动标签插件可为文章智能生成标签并添加标签链接。支持PHP、SCWS及结巴分词,可设置字段、最少字数与语言限制,还支持SEO优化和自定义标签类型。注意事项包括仅无标签时生成,且结巴分词需更多内存。更新内容含新增分词方式与绑定功能,截图展示设置界面与效果。
183 0
|
12月前
|
Web App开发 前端开发 程序员
将微信公众号文章同步到阿里云开发者社区
本文介绍了一种通过自己拓展的浏览器插件,便捷地将微信公众号文章同步到阿里云开发者社区的方法。
201 6
CoreDownload - WordPress文章下载增强插件v1.0.6
CoreDownload 是一款高级WordPress 下载增强插件,支持几乎所有网盘,为WordPress增加任意下载功能,目前免费提供使用。 安装插件后,在设置中全局开启。然后编辑文章,可以在下面找到CoreDownload下载增强功能。
121 0
CoreDownload - WordPress文章下载增强插件v1.0.6
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的时间管理小程序附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的时间管理小程序附带文章源码部署视频讲解等
159 0
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的传统戏曲推广微信小程序附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的传统戏曲推广微信小程序附带文章源码部署视频讲解等
120 0

热门文章

最新文章

相关实验场景

更多