WordPress 分类如何实现拖动排序?
WordPress 默认对分类的排序真的是太弱了,仅支持通过代码的方式使用 ID,使用数量(count),名称(name),别名(slug)等字段进行排序,都没有提供自定义分类的方法,更别提拖动排序。
另外由于 WordPress 的分类是层级的,在多层情况下怎么实现拖动排序?在分类层级非常复杂的情况下,怎么方便管理和排序呢?
所以我开发了「分类管理插件」可以让我们可以层级管理分类,并且实现拖动排序。
层式管理分类
我们首先从层式管理分类说起,如下图所示,文章分类非常多的时候,是不是头很大,管理起来非常麻烦:
![WordPress 分类管理界面](https://cdn.wpjam.com/qiniu/5597/image/c32f43346e8af05b0dfa447cb5b0eb26.jpg?imageMogr2/auto-orient/thumbnail/1200x/quality/70/interlace/1|watermark/1/image/aHR0cHM6Ly9jZG4ud3BqYW0uY29tL3dwamFtL3dhdGVybWFyay5wbmc/dissolve/50/dx/11/dy/11#)
所以第一步就是要层式管理分类,如上所示,点击上图中的「只显示第一级」按钮,混杂的分类就会变得非常的清晰:
![只显示第一级](https://cdn.wpjam.com/qiniu/5597/image/f5d38b7429b3963c012d943019b33f10.jpg?imageMogr2/auto-orient/thumbnail/!1200x598r/gravity/Center/crop/1200x598/quality/70/interlace/1|watermark/1/image/aHR0cHM6Ly9jZG4ud3BqYW0uY29tL3dwamFtL3dhdGVybWFyay5wbmc/dissolve/50/dx/11/dy/11#)
原来的「只显示第一级」按钮变成「显示所有」,点击则返回,非常方便。如果某个一级分类有下一级分类,点击它,立刻展示并只展示它的下一级分类列表:
![下一级分类](https://cdn.wpjam.com/qiniu/5597/image/731ed98171e30fd9e36ce942fedeb5e3.jpg?imageMogr2/auto-orient/thumbnail/1200x/quality/70/interlace/1|watermark/1/image/aHR0cHM6Ly9jZG4ud3BqYW0uY29tL3dwamFtL3dhdGVybWFyay5wbmc/dissolve/50/dx/11/dy/11#)
这个时候「显示所有」按钮又变成了「返回上一级」按钮,点击返回第一季分类列表。如果下一级这些分类中某个分类还有下一级,「下一级」这个链接会继续显示,点击继续进入下一级,直到没有下一级分类了:
![再下一级分类](https://cdn.wpjam.com/qiniu/5597/image/0c74213d595e3f60030653975661b406.jpg?imageMogr2/auto-orient/thumbnail/!1200x600r/gravity/Center/crop/1200x600/quality/70/interlace/1|watermark/1/image/aHR0cHM6Ly9jZG4ud3BqYW0uY29tL3dwamFtL3dhdGVybWFyay5wbmc/dissolve/50/dx/11/dy/11#)
这样通过一层层向下的方式去管理分类,是不是方便很多。
限制分类层级
默认情况,WordPress 的分类是可以无限层级的,这个插件可以让你限制这个层级:
![](https://cdn.97866.com/wp-content/uploads/sites/26/2020/02/1582557871-30BzzfTG.png?imageMogr2/auto-orient/thumbnail/!1200x780r/gravity/Center/crop/1200x780/quality/70/interlace/1|watermark/1/image/aHR0cHM6Ly9jZG4ud3BqYW0uY29tL3dwamFtL3dhdGVybWFyay5wbmc/dissolve/50/dx/11/dy/11#)
比如分类的层级设置为2层,这个时候,在分类创建和编辑页面,分级分类只能选择第一级的分类:
![分级分类只能选择第一级的分类](https://cdn.wpjam.com/qiniu/5597/image/434f81a452e28482eb8d771e78829eaa.jpg?imageMogr2/auto-orient/thumbnail/!1200x540r/gravity/Center/crop/1200x540/quality/70/interlace/1|watermark/1/image/aHR0cHM6Ly9jZG4ud3BqYW0uY29tL3dwamFtL3dhdGVybWFyay5wbmc/dissolve/50/dx/11/dy/11#)
在文章编辑页面,添加新分类,如果要选择父级的分类时候,也是只有第一级:
![下一级分类](https://cdn.wpjam.com/qiniu/5597/image/71c5d01fca682200daea78f87ce29db8.jpg?imageMogr2/auto-orient/thumbnail/!598x992r/gravity/Center/crop/598x992/quality/70/interlace/1|watermark/1/image/aHR0cHM6Ly9jZG4ud3BqYW0uY29tL3dwamFtL3dhdGVybWFyay5wbmc/dissolve/50/dx/11/dy/11#)
插件考虑得还是很周全的。
分类拖动排序
有了层级管理分类,那么的排序功能也就好开发了,首先在菜单「WPJAM」> 「分类设置」开启拖动排序:
![](https://cdn.97866.com/wp-content/uploads/sites/26/2020/02/1582557871-w7ehUXkW.png?imageMogr2/auto-orient/thumbnail/!1200x720r/gravity/Center/crop/1200x720/quality/70/interlace/1|watermark/1/image/aHR0cHM6Ly9jZG4ud3BqYW0uY29tL3dwamFtL3dhdGVybWFyay5wbmc/dissolve/50/dx/11/dy/11#)
由于 WordPress 的分类是层级的,直接在多层进行拖动排序是非常麻烦的,所以这里降低了一下维度,也降低了难度。
所以如果是多层的分类模式,只有点击「只显示第一级」之后,才可以对第一层的分类进行排序:
![第一级分类拖动排序](https://cdn.wpjam.com/qiniu/5851/image/74e765941dd2b56b28aafe7bbda764f9.jpg?imageMogr2/auto-orient/thumbnail/!1200x760r/gravity/Center/crop/1200x760/quality/70/interlace/1|watermark/1/image/aHR0cHM6Ly9jZG4ud3BqYW0uY29tL3dwamFtL3dhdGVybWFyay5wbmc/dissolve/50/dx/11/dy/11#)
如果某个分类下面的子分类要进行拖动排序如何操作呢?点击「下一级」进入该分类的子分类列表时进行拖动操作:
![子分类拖动排序](https://cdn.wpjam.com/qiniu/5851/image/351f1e1306eb8f9534656e03bf540d42.jpg?imageMogr2/auto-orient/thumbnail/!1200x758r/gravity/Center/crop/1200x758/quality/70/interlace/1|watermark/1/image/aHR0cHM6Ly9jZG4ud3BqYW0uY29tL3dwamFtL3dhdGVybWFyay5wbmc/dissolve/50/dx/11/dy/11#)
在前端显示的时候,如果调用的参数没有显式设置分类排序的参数,默认就是按照后台拖动排序之后顺序进行输出。
WPJAM 分类管理插件
WPJAM「#分类管理插件#」是 WordPress 果酱出品的付费插件,目前主要有「层式管理分类」,「设置分类层级」,「分类拖动排序」,「分类数字ID固定链接」,「首页文章分类过滤」,「后台文章分类筛选过滤」和「文章列表分类多重筛选」七大功能。
「WordPress果酱」知识星球福利插件基于 WPJAM Basic 开发,加入「WordPress果酱」知识星球,即可下载:
专题:WordPress 分类管理: