建站教程

建站教程

Products

当前位置:首页 > 建站教程 >

wordpress的java代替版本JPress(让WordPress搜索结果支持自定义文章类型)

GG网络技术分享 2025-03-18 16:12 0


wordpress的java代替版本JPress

Press,一个wordpress的java代替版本,使用JFinal开发。支持类似wordpress的几乎所有功能,比如:模板,插件等。同时在模板上,JPress提出了“模板即模型”的概念,方便模板制作人灵活制作业务模型,移除了widget等繁杂功能,同时在模板和插件制作上比wordpress更加灵活简洁。

但是,JPress又不是wordpress的java版本,它天生融合了微信公众平台,整合了国内众多云平台、短信发送、邮件发送平台,独创的“模板即模型”概念是wordpress所不具备的,只有资深的wordpress玩家才能体会里面的微妙关系。同时后续会添加微信文章同步,QQ公众平台,今日头条,一点资讯等新媒体的文章同步功能,更加国产和本地化。

在功能方面

支持自定义模型,自定义模型通过模板来定义,而不是后台功能。同时模型内容支持自定义类别,比如文章模型支持专题、分类、标签等类别。

支持多模板引擎,默认使用Freemarker,模板制作者可以使用其他引擎比如thymeleaf来渲染,同时支持后台在线编辑模板(目前暂时只支持freemarker引擎)。

支持多数据库类型,可以配置不同的数据库(目前暂只支持mysql)。

支持多编辑器,后台可视化编辑和markdown编辑自由切换,默认支持在线图片编辑和代码高亮等功能。

支持插件化,几行代码就可以完成一个插件的开发,git.oschina.net和github上已经有插件的helloworld实例。

支持自定义URL,网站内容URL风格自定义。

API支持,方便APP或其他第三方调用数据。

国际化支持,使用JPress轻松制作任何语言的网站。

极简的SEO功能,可以为每篇文章、每个分类、每个标签单独设置SEO,支持sitemap输出。

用户注册支持邮件和短信验证,目前短信服务商暂时只支持阿里大鱼。

支持CDN设置,包括七牛,阿里云,又拍云等。

上传图片支持水印设置,同时上传图片自动剪切成为模板需要的多种图片尺寸,保证图片显示不会拉伸。

用户登录支持第三方登录,支持QQ、微信、微博、开源中国、github、Facebook、twitter、linkedin(目前只完成QQ、微信、微博、开源中国、github的登陆)。

在微信方面

支持微信菜单设置。

支持自动回复,添加关键字和回复内容。

支持默认回复,包括:用户关注时、进入多客服时、退出多客服时、发送图片时、发送语音时、发送视频时、发送位置时、发送连接时、用户扫描了带参数的二维码时、用户摇一摇时。

所有的自动回复或默认回复支持“高级回复”功能,比如回复一篇文章,回复一个网址…高级回复是由JPress内置开发的特殊回复,但完全可配置,今后会增加更多的“高级回复”功能。

自动回复或默认回复支持插件回复,调用JPress插件完成回复。

支持文章搜索,回复关键字即可返回关键字匹配文章。

未来会支持文章同步或微信导入等实用功能。

在技术方面

自豪的采用了JFinal作为核心,JPress也是得益于JFinal灵活的架构。在JFinal framework开源体系里,JPress关心每行逻辑的实现,重视每行代码质量,应该属于JFinal的最佳实践,所以也应该是每个JFinaler必读的项目。

使用Freemarker和thymeleaf作为模板引擎。JPress内置的独创缓存,使得的UI渲染速度已经和模板引擎无关。

使用了tinymce做可视化编辑器,使用simplemde做markdown编辑器。两者可以后台自由切换。

文件和图片上传的UI插件使用了fine-uploader。

在前端上,JPress使用了jquery,bootstrap,admin lte,font-awesome,x-editable,fastclick,toastr,tag-editor,pace,layer等。

在安全方面,尽管我个人做了非常多的努力,已经在XSS,CSRF,SQL注入,Cookie安全等方面做了很多的工作,但是还是需要更多的人来一起挖掘和完善,安全是一个永恒的话题。(但是对于新手朋友来说,这些安全应该都是值得去学习和了解的,不是吗?)

支持分布式部署,JPress重写了HttpSession,使用ehcache实现了session的功能,同时在项目中大量依赖于cookie,在分布式架构上毫无压力。

模板

  • 模板在线安装、卸载
  • 模板在线启用、切换
  • 在线编辑及实时生效
  • 完善的模板开发文档
  • 极致的模板开发体验

插件

  • 插件在线安装、卸载
  • 插件在线启用、停止
  • 插件在线更新
  • 支持在插件里添加新的 Controller
  • 支持在插件里添加新的 Handler
  • 支持在插件里添加新的 Interceptor
  • 支持在插件里添加新的 Html、Css 和 Js
  • 支持在插件里创建新的数据库表以及对应的 Model
  • 支持在插件里链接不同的数据库
  • 支持通过插件动态扩展后台菜单和用户中心菜单
  • 插件扩展的菜单支持用户权限设置的管理
  • 插件被停止:该插件的所有Controller、Handler、Intercepter 自动被移除
  • 插件被卸载:该插件的所有资源全部被删除

用户

  • 独立登录、注册入口
  • 手机短信、邮箱激活功能
  • 用户中心(投稿、文章管理、评论管理、个人资料管理等)
  • 第三方登录:微信、QQ等
  • 微信浏览时,通过微信授权自动获取用户信息

角色和权限

  • 角色管理
  • 全自动、免维护的权限字典(自动发现后台路由、插件安装卸载自动分配对应)
  • 角色和权限的分配
  • 用户多角色功能
  • 超级管理员

微信

  • 微信公众号对接
  • 微信公众号关键字自动回复
  • 微信公众号菜单设置
  • 微信公众号运营插件
  • 通过运用插件灵活扩展各种微信营销功能
  • 微信小程序对接、和配置

SEO

  • 每篇文章和页面独立的SEO设置
  • Baidu API 的实时推送
  • Baidu 和 Google 的自动 Ping 提交
  • Sitemap 自动生成、后台支持自定义的开启和关闭
  • robots.txt 爬虫蜘蛛的支持
  • 整站伪静态支持,支持自定义开后缀

其他

  • WordPress、Hexo、Jekyll 文章一键导入
  • 编写文章随意切换CKeditor和Markdown编辑
  • 最大化、沉侵式的文章编写体验
  • Docker 一键部署
  • 阿里云、腾讯云CDN在线配置
  • 阿里云、腾讯云短信验证(用户注册手机验证)
  • 附件自动可配置自动同步阿里云OSS
  • 完善的API接口配置管理
  • ... (更多等你发现)

让WordPress搜索结果支持自定义文章类型

WordPress的搜索结果默认只包含文章和页面。当我们创建自定义文章类型后,所发布的自定义类型文章页面并不会被包含在搜索结果中,这是非常不好的用户体验。如果你的网站是以自定义文章类型为主,那就问题更严重了。所以,我们非常有必要让WordPress的搜索结果也支持自定义文章类型。实现方法很容易,一小段代码即可实现。以下是具体方法:

/*

搜索结果支持自定义文章类型

代码来源: www.wpzxbj.com

*/

function searchAll( $query ) {

if ( $query->is_search ) { $query->set( \'post_type\', array( \'post\',\'books\', \'product\',\'works\' )); }

return $query;

}

add_filter( \'the_search_query\', \'searchAll\' );

代码说明:将以上代码插入主题function.php即可。以上代码中的array数组内容就是要包含在搜索结果中的taxonomy文章类型,可根据自己的需要自行添加、修改自定义文章类型名称,但’post’这一文章类型必须得有,否则将无法将默认的文章类型包含在搜索结果中。

标签: 小程序

提交需求或反馈

Demand feedback