本文作者:我爱技术网

说说WordPress自定义文章类型的文本推荐

我爱技术网 1周前 ( 04-12 11:07 ) 2454 2条评论
摘要: 从2004年的1.0版开始,WordPress已经在14年内迭代开发到5.x版。如果中间版本是定性升级,它应该是2010年发布的Thelonious 3.0版本。此版本发布了许多重...

从2004年的1.0版开始,WordPress已经在14年内迭代开发到5.x版。如果中间版本是定性升级,它应该是2010年发布的Thelonious 3.0版本。此版本发布了许多重要功能,例如多站点,主题API等。其中一个是Custom邮政类型。

说说WordPress自定义文章类型的文本 WordPress问题 WordPress教程 WordPress优化 WordPress WordPress问题 WordPress教程 WordPress优化 WordPress 第1张

尽管WordPress 2.9还引入了register_post_type()函数,但它在CMS市场上并不是非常有用并且竞争力不强。 register_post_type()函数的3.0版本要好得多,它还使WordPress从纯博客系统变成真正的内容管理系统(CMS),可以管理各种内容。

什么是文章类型(Post Type)?

Post Type,字面意思就是“文章类型”或者叫“帖子类型”,其实更准确的说法应该叫“内容类型”,是 WordPress 用来区分不同类型不同用途的内容的一个术语。

邮政类型应被视为商业术语而非技术术语。因为从本质上讲,它们是WordPress业务数据库中相同数据表wp_posts中的相同数据,数据结构是相同的,不同Post Type之间的区别在于post_type字段。见下图:

说说WordPress自定义文章类型的文本 WordPress问题 WordPress教程 WordPress优化 WordPress WordPress问题 WordPress教程 WordPress优化 WordPress 第2张

在 3.0 版本之前 ,WordPress 自带的默认 Post Type 只有两种最基本的类型:post 和 page,后来又扩展了如下几种默认类型:

  • Post (Post Type: 'post') 文章

  • Page (Post Type: 'page') 页面

  • Attachment (Post Type: 'attachment') 附件

  • Revision (Post Type: 'revision') 自动保存的文章版本

  • Navigation Menu (Post Type: 'nav_menu_item') 导航菜单

  • Custom CSS (Post Type: 'custom_css') 自定义 CSS

  • Changesets (Post Type: 'customize_changeset') 自定义的设置

  • User Data Request (Post Type: 'user_request') 用户请求

邮政类型名称非常不友好,可能会产生误导和混淆。 Post一词通常被理解为一篇文章,但那些不是帖子(参见上面的列表)也被归类为Post Type,因此调用内容类型可能更准确。虽然它们都是Post Type,但它们并不都是Post。两者之间的区别可以理解为一个例子:面包,面条,面粉,面料,面试都是面对面的,但不是所有的面孔。

什么是自定义文章类型(Custom Post Type)?

你可以把所有内容都用默认的文章或页面这两种类型来编辑和管理,反正都是数据而已,但这样带来的问题就是混乱,不好管理。这就好比不管什么菜都用一种做法,一锅乱炖,反正装盘都能吃。不同的菜当然有不同的管理方式和料理方式,甚至不同的餐具。同样的道理,不同的内容也需要区别对待。所以除了默认的 Post Type 之外,还有一个重要的类型就是 Custom Post Type–自定义文章类型,就是用来满足内容生产者的不同需求。

那么自定义文章类型到底可以做什么用呢?能干什么这主要取决于你自己的需求和内容定位,没有什么规定,只要你愿意,什么样的内容都可以定义成一种 type,理论上说,你可以用 Custom Post Type 来干存任何你想要存的数据。随便举几个例子:

  • 公司信息、项目数据,比如用 WordPress 做一个类似 36kr 的创业项目信息库

  • 电影、书籍数据,比如用 WordPress 做的电影信息展示网站

  • 产品信息,用 WordPress 做的电商平台

  • 说明文档

  • 论坛数据

  • 食谱

  • 设计稿

  • 歌词

  • 活动

  • av

  • 僵尸

  • 等等等

总之,自定义文章类型(CPT)就是你的内容和内容存储方式。不管哪种类型的内容,基本在 WordPress 中都是可以实现的。只要遇到了一些信息你觉得可能用默认的文章或者页面的形式不好展现,那么可能你就需要用到自定义文章类型了。

还有一种情形下也可以考虑使用自定义文章类型,当你使用了很多的页面(page),并给页面做了父子层级的时候,如果层级超过了十个,那么多半这些页面都属于一种类型了,比如说一个公司能提供多种多样的 services(服务),都用页面形式的话也是可以的,但这种场景下,考虑用新建一个自定义文章类型叫做 services(服务)可能会更方便。

或者当你频繁的使用文章的某一个分类,或者并且为了想要对某些内容的 URL 做一些自定义等等情况下,都可以考虑一下使用自定义文章类型了。

如果你对此不熟悉,那多半可能是因为你没有这方面的需求,没有用到而已,现有默认的文章和页面两种默认的 Post Type 已经能满足你的需求了。如果你的网站内容比较特殊,那么就很有必要好好了解一下自定义文章类型了,很好很强大。

自定义文章类型(Custom Post Type)不是什么?

WordPress 里面可以自定义的部分非常多,非常灵活,这也正是 WordPress 的强大之处。这也带来一个问题就是关于自定义的术语也比较多,初学者会比较容易混淆。下面也稍微解释一下它们之间的区别。

  • 自定义文章类型(Custom Post Type)不是普通意义上的文章(post),上面已经说过了。

  • 自定义文章类型(Custom Post Type)也不是自定义字段(custom fields)的替代品。实际上自定义字段是作为内容的一部分或补充相关功能,比如一个内容类型为电影的自定义字段可以有很多:导演、演员、风格、海报等等等。这方面的插件就是之前介绍过的Meta Box和Advanced Custom Fields 、Code Embed

  • 自定义文章类型(Custom Post Type)也不是自定义分类(Custom taxonomies)。比如你有了一个自定义类型是电影,这时候用文章的分类可能就不适用了,需要添加自定义分类法,比如奇幻、恐怖、爱情、动作等等。

为什么要使用自定义文章类型?有什么好处和优势

使用自定义文章类型有几个好处:

  • 更好的显示形式。内容决定形式,形式影响内容。某些场景形式重于内容,某些场景内容重于形式,主要还是取决什么样的内容。在 WordPress 中可以针对自定义文章类型使用专门的页面展示显示形式,自由设置不同于默认文章的显示样式,以便突出显示这类内容,聚焦优质内容。

  • 更好的过滤结果。在需要按条件显示 WordPress 文章时,WP_Query 默认的搜索是 Post, 这时默认会把自定义文章类型排除出去,除非你特意指明了需要的类型,这样可以对过滤结果有更好的控制。

  • 更好的编辑内容。在内容管理后台中,不同的内容类型也需要不同的组织、编辑流程。

  • 更好的用户体验。如果你是一个开发者,服务的用户群体是特定行业的从业者,他们不一定懂代码,也不一定能搞清楚文章、页面等等之间的区别,那么最简单的方法就是为他们量身打造一套自定义文章类型和发布流程,让工具去适应用户,而不是让用户去适应内容。

  • 更好的安全性。

  • 更高的效率。

  • 更友好的 URL 展示

总之,自定义文章类型(custom post types )可以让你自定义并管理你的内容,使创建、编辑、管理更容易更高效,并且能以更好更方便的形式展现出来。

创建自定义文章类型的方法

当你决定了开始使用自定义文章类型之后,首先面对的问题就是,应该怎么弄?方法很多。一般来说有两种方法可以创建自定义文章类型:一是手写代码,二是通过插件的方式来创建。

WordPress 自身并没有在后台提供一种可视化的界面来创建自定义文章类型,但是有很多插件也可以实现可视化创建。

首先,您可以搜索您的内容类型是否具有满足您需求的插件。例如,高级插件(如电子商务插件WooCommerce)将创建您自己的帖子类型。自定义类型的WooCommerce是产品,并且有相应的编辑背景和类别。所有这些都为您准备好了,您可以直接使用它们。

如果内容类型比较特殊,没有完全符合的插件,那么可以考虑使用自定义文章类型可视化创建插件。比如Pods – Custom Content Types and Fields、Custom Post Type Maker、还有官方推荐的Custom Post Type UI ,后面会写一些这几个插件的详细使用用法。

用插件的方式当然是非常方便的,但同时也会有一些缺点:会引入很多不要的代码和数据,因为是通用型的解决方案,所有它们需要兼顾的方面比较多,有些是并不需要的需求,再一点,虽然这些插件的基础功能大都是免费的,但是高级功能还是需要付费的。

所以,最后还有一种终极方案就是自己手写代码来实现完全定制化了,下一篇文章再写。

文章内容出处丘壑博客:https://bestscreenshot.com/guide-to-custom-post-types-in-wordpress/


文章投稿或转载声明:

来源:丘壑博客版权归原作者所有,转载请保留出处。本站文章发布于 1周前 ( 04-12 11:07 )
温馨提示:文章内容系作者个人观点,不代表我爱技术网对其观点赞同或支持。

赞(0

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

发表评论

快捷回复:

评论列表 (有 2 条评论,2454人围观)参与讨论
网友昵称:斜杠研究者
斜杠研究者游客2019-04-13沙发 回复
高级插件(如电子商务插件WooCommerce)
网友昵称:我爱技术网
我爱技术网管理员2019-04-14 回复