最近用wordpress系统搭建了一个问答系统,这套系统需要注册才可以提问和查看。提前获得邀请才可以注册,注册还有邮箱验证。

重要的是,整个搭建过程直接用插件完成的,不用开发编程。因为wordpress的插件有很多选择,可是真正搭建的时候,却不是开始想象的那么简单,整个过程绊绊磕磕,坑多、选择多啊,下面分享下过程。

1. 首先是基于wordpress选型:

1. 方案1:可以用论坛社区的方式,比如bbpress论坛插件,或者buddypress社区插件。论坛是个讨论区,可以满足我的需求,但功能太多,另外有涉及到以后备案或者被关闭的风险。

2. 方案2:也可以用专门的问答插件。我选择这个,问答系统就像知乎、知道这类的,一个提问,下面可以回答或者追问,还可以修改工单状态。

2. 问答插件选择:

1. 问答插件有很多选择,有功能强大anspress或者单一型dwqa,这个还是要根据自身需要选择,anspress更强大,需要php版本也很高。

3. 不像让所有人看到,增加访问限制:

1. 问答插件可以做到开放提问,默认不用注册登陆也可以访问和提问,这意味着网站会被机器人灌入垃圾信息或违法信息,所以要限制会员登录提问。

4. 打开wordpress默认会员注册功能,但要加以限制:

1. 方案1:可以选择邀请注册,邀请注册的插件,也有很多选择,但都太老了,近两年没更新,很多都不可用,经常出故障。邀请注册方案失败。

2. 方案2:注册填写验证码方案,国外有名的验证码,recaptcha,但这个网站是面向国内用户,放弃谷歌验证码。

3. 方案3:国内有名的验证码,geetest极验,很多大网站都在用,而且wordpress插件库可以搜到它的插件,但不能正常用,插件比较老了,不适合他们家的版本,咨询极验官方,说不支持wordpress。好吧,放弃极验。

4. 方案4:最后找了一个简单的验证码插件,国人出品,简单有效,集成了验证码+邀请功能,可以有效的防止机器人胡乱注册。我提前把答案告诉需要的同学,注册的时候填写即可。

5. 安全隔离:

1. 问答系统涉及到会员注册和权限等问题,最好安装在一个独立的wordpress系统内,和主网站的wordpress分开。

6. 会员注册链接的问题:

1. 注册wordpress会员,需要填写邮箱,系统会往用户邮箱里发送一个激活链接,点击这个链接回到网站修改密码。

2. 但是这个激活链接有问题,这是wordpress自带的的bug,据说从3.x版本就有,现在网上很多办法是无效的,特别是对于新版本的wordpress4.9x,后来解决了,以后写一个关于这个的教程,感觉还是很实用的。

7. wordpress会员登陆后,默认进入后台,改成登陆后跳转到前台问答系统

8. 问答插件有个邮件通知功能,有人回答问题会发送邮件,把这些功能统统关掉了,避免打扰注册用户。以后需要再打开

9. wordpress有会员注册,会自动往管理员邮箱发送邮件通知,这个很难关掉,只能另辟捷径,从邮箱内部想办法。

10. 问答系统测试阶段发现有的用户收不到wordpress发出的邮件,因为这封邮件使用phpmail发出的,换成我的邮箱smtp发送就可以了。

本以为wordpress上插件丰富,很容易解决问答系统的问题,可没想到结合国情和实际用途,会出现这么多问题,还好都解决了。写个blog 记录下。