您需要了解的有关 WordPress 自定义帖子类型的所有信息
已发表: 2015-05-26我一直觉得 WordPress 有趣的一件事是它能够使用帖子类型显示不同类型的内容。 帖子类型允许您创建不止一种帖子。 为了使每个帖子看起来都像其他帖子一样,您可以创建自己的自定义帖子类型。 在本文中,我们将了解自定义帖子类型,了解它们是什么以及如何使用它们。
什么是帖子类型?
帖子类型是在 WordPress 中发布内容的方式。 WordPress 内置了五种帖子类型:
- 页面 - 看起来像一个常规帖子,但与常规帖子的基于时间的结构或类别无关。 他们在菜单中有自己的导航结构。 一个网站上通常只有几个页面。
- Post – 用于日常发布的典型类型。 大多数文章使用这种帖子类型。 它们以相反的顺序发布,因此最后一个帖子首先显示。 这也用于 RSS 提要。
- 附件 - 这是一个特殊的帖子,其中包含有关已上传文件的信息。 信息包括元数据、描述、名称、大小、缩略图、位置、替代文本等。
- 修订 - 这些是草稿和已发布帖子的任何过去修订。 它们是帖子的副本,但没有发布。
- 导航菜单 - 此帖子类型包含有关菜单结构中项目的信息。 它们不是显示内容,而是根据结构、标签、类别等显示指向内容的链接。
您不仅限于使用这五个。 你可以自己做。 这称为自定义帖子类型。
什么是自定义帖子类型?
自定义帖子类型是您创建并添加到 WordPress 并定义了自定义参数的任何帖子类型。 您可以通过多种方式创建和使用它们。 它们像页面模板一样工作,以特定方式显示具有特定布局、功能和样式的内容,为您的网站提供自定义外观。 这是划分内容以使特定帖子脱颖而出的好方法。
如何使用自定义帖子类型
有很多方法可以使用自定义帖子类型。 这里有一些例子:
- 产品页面——包括照片、描述、评论、购买链接等。
- 评论(书籍、电影、游戏、音乐、课程等)——将包括项目描述、功能、可用性、比较等。
- 课程——将包括标题、描述、使用的材料、教师姓名、日期、地点、先决条件等。
- 活动(音乐会、演出、展览、婚礼、游戏等)——将显示描述、目的、参加者(演讲者、艺术家等)、价格、地点、日期和时间等。它可以使用类似的模板到一张旧的活动海报。
所有这些都可以是您选择创建帖子的自定义帖子类型。 您想进行音频评论吗? 选择名为 Audio Review 的自定义帖子类型,您已经内置了布局、样式和功能。
使用代码创建自定义帖子类型
添加自定义帖子类型的一种方法是手动将代码添加到您的主题中。 您可以使用 register_post_type() 函数将自定义帖子类型添加到 WordPress 主题的 functions.php 文件中。 您可以通过标签、支持的功能、可用性等定义新的帖子类型。
您必须在 admin_menu 之前和 after_setup_theme 操作挂钩之后调用 register_post_type()。 WordPress Codex 推荐使用 init 钩子。
下面是来自 WordPress Codex 的示例代码,它创建了一个名为 Product 的帖子类型,该类型被标识为 acme_product:
[php] add_action('init', 'create_post_type');函数 create_post_type() {
register_post_type('acme_product',
大批(
'标签' => 数组(
'名称' => __( '产品' ),
'singular_name' => __( '产品' )
),
'公共' => 真的,
'has_archive' => 真,
)
);
}
[/php]
参数 Labels 定义帖子类型的名称,参数 Public 使帖子类型显示在管理屏幕和站点本身中。
有很多参数可以传递给 register_post_type() 函数。 您可以使用它们在搜索中显示自定义帖子类型、设置层次结构、更改其 URL、显示或隐藏元框等等。 WordPress Codex 提供了完整的参数列表以及如何使用它们的示例。
命名约定
请注意,此示例中的帖子类型的名称是 acme_product。 这使用将插件、主题或网站的名称作为前缀的命名约定。 这可以防止其他自定义帖子类型与其他插件或主题中的帖子类型发生冲突。 只需确保名称不超过 20 个字符即可。
档案
为了使您的存档页面可访问,您必须更新永久链接结构。 自定义帖子类型的模板以与常规帖子类型相同的方式放置在存档中。 自定义帖子类型将使用:
存档- {post_type} .php
模板
您还可以为自定义帖子类型使用自定义模板。 您可能需要调整您的永久链接结构。 此示例中的文件将使用:
单acme_product .php
按帖子类型查询
在 WordPress 主题中注册模板文件后,您可以创建新查询以显示来自特定帖子类型的帖子。 您可以使用post_type参数来执行此操作。
这是来自 WordPress Codex 的示例:
[php] $args = array('post_type' => 'product', 'posts_per_page' => 10);$loop = new WP_Query($args);
while ( $loop->have_posts() ) : $loop->the_post();
标题();
echo '<div class="entry-content">';
内容();
回声'</div>';
结束;
[/php]
主查询中的自定义帖子类型
注册自定义帖子类型后,您仍然必须将其添加到主查询中。 使用 pre_get_posts 操作挂钩将允许它们显示在您的档案和主页上。
这是来自 WordPress Codex 的示例:
[php] // 在首页显示'post'、'page'和'movie'类型的帖子add_action('pre_get_posts', 'add_my_post_types_to_query');
函数 add_my_post_types_to_query( $query ) {
if ( is_home() && $query->is_main_query() )
$query->set('post_type', array('post', 'page', 'movie'));
返回$查询;}
[/php]
关于使用代码
添加代码有一些好处。 一方面,您可以简化您的网站,而不必总是担心更新插件。 将代码添加到主题的一个问题是,如果您更改主题,则必须重写代码。
使用插件创建自定义帖子类型
更简单的方法是使用插件。 插件可以更轻松地切换主题,而无需重新编码您的自定义帖子类型。
自定义帖子类型 UI
这个免费插件为您提供了一个界面来创建您自己的自定义帖子类型和分类法。 它不处理您在主题中注册的自定义帖子类型,但它确实具有具有许多功能的直观 UI。
要创建帖子类型,您需要添加 slug、标签、描述和设置。 设置简单而广泛。 您可以设置其功能类型、菜单位置、它将支持的字段类型和格式、菜单图标、分类等。 每种设置都有很多选择和大量帮助。
您还可以导入和导出自定义帖子类型。 如果您想与同事共享它们,或者如果您想在您拥有的其他网站上使用它们,这非常好。
它很容易使用。 我能够立即添加自定义帖子类型。 我可以回去编辑我的帖子类型,但在创建新帖子类型时无法复制。 这不是一个交易破坏者,但它会很方便。

Pods – 自定义内容类型和字段
有了这个,您可以创建新的帖子类型或扩展现有的帖子类型。 它将创建自定义帖子类型、自定义分类法、自定义设置页面和高级内容类型。 要扩展现有帖子类型,您可以向常规帖子类型、分类法、媒体、用户和评论添加新字段。
您可以从日期、数字、文本类型、段落文本、颜色选择器、是/否、文件(图像、视频等)、头像和关系中进行选择。 您还可以在每种类型的 Pod 中为您的内容类型设置主题。 有一些可选组件可以添加角色和功能、页面、模板、帮助、高级内容类型、表格、高级关系、降价和主题集成。 您可以从其他 UI 导入,它与许多其他插件和构建器兼容。
您可以创建自己的字段类型,甚至可以应用简码和 HTML。 这些选项易于创建和管理。 创建 Pod 后,您可以使用简码将它们添加到其他内容中。 Pod 按钮出现在可视化编辑器中,您可以在其中选择任何 Pod 的简码。 帖子类型也会添加到您的仪表板中,因此您可以像选择页面或帖子一样选择它。
开箱即用,这是创建自定义帖子类型的最佳选择之一。 它易于使用并具有大量功能。 我对它没有兼容性问题,使用它既简单又直观。 我希望看到复制 pod 的功能,但至少它们很容易制作。
自定义内容类型管理器
这让您可以创建具有标准化自定义字段的自定义帖子类型,包括复选框、下拉菜单、图像等。您可以在单个字段中存储多个帖子、媒体等。 这是存储图像库和其他类型媒体的好方法。
创建自定义帖子类型非常简单。 您可以设置标签、字段、列、菜单、URL、分类法、操作等。您可以为每个自定义帖子类型调整 PHP、CSS 和 HTML。 您还可以从包含的两个示例模板创建自定义帖子类型。 创建帖子类型后,您只需激活它们即可使用。 您可以编辑或复制任何帖子类型。 这是我希望在其他人身上看到的功能。
它将您的帖子类型添加到仪表板,因此您可以像选择页面或帖子一样选择它们。 它还在您的可视化编辑器中添加了两个按钮:
总结帖子
这个允许您根据您选择的标准动态列出帖子。 您可以创建设置以在您的页面和帖子中发布类型和分类。
自定义字段
有了这个,您可以从列表中选择短代码,它们将被粘贴到您的内容中。
有很多选项可用于创建自定义帖子类型。 您可以导入和导出内容定义,以便在其他站点上重复使用它们。 它易于使用并具有许多出色的功能。
WCK – 自定义字段和自定义帖子类型创建器
这个有一个 WordPress 创建工具包,其中包含三个工具,可帮助您为您的帖子、页面、自定义帖子类型创建和维护自定义帖子类型、自定义分类法以及自定义字段和元框。 您可以使用内置 UI 创建自己的自定义帖子类型。
- WCK Custom Fields Creator – 让您可以为帖子、页面和自定义帖子类型创建自定义字段。 它将数据存储在标准自定义字段中。
- WCK 自定义帖子类型创建器– 允许您使用用于 register_post_type() 函数的 UI 创建自定义帖子类型。
- WCK Taxonomy Creator – 让您创建和编辑自定义分类。 它有一个用于 register_taxonomy() 函数的 UI。
Post Type Creator 易于使用。 您只需给它一个名称、标签、描述,选择它是分层的还是有档案的,然后选择它支持的字段类型。 您还可以浏览标签、菜单定位、功能等的高级选项。
添加自定义帖子类型后,您只需从仪表板菜单中该帖子类型的链接中单击“添加新”,即可为该类型创建新帖子。 帖子类型将具有您在创建时选择的格式和设置。 每次构建新的时,您都必须从头开始创建。
有一个快速启动指南可以帮助您完成它。 虽然设置非常直观,并且每个字段都有示例,因此您可能不太需要该指南。
还有一个专业版,增加了许多新功能。 Hobbyist 在 1 个站点上使用是 49 美元。 它包括选项页面创建器和额外的自定义字段类型,其中包括:
- 所见即所得编辑器
- 上传字段
- 日期
- 用户
- 彩管选择
- 国家
- 文本输入
- 文本区
- 下拉选择
- 复选框
- 单选按钮
它还有 1 年的更新和支持。 Pro 是 139 美元,用于无限站点并添加 Swift 模板和前端托管。
类型
Types 是一个插件,可以轻松定义您自己的自定义帖子类型、自定义字段和自定义分类。 有趣的是您可以在不同的帖子类型之间建立联系。 他们展示的例子是事件和艺术家。 您可以使用父/子关系将两者连接在一起。 它甚至可以让您在父页面上编辑子数据。
这个具有您在创建和管理自定义帖子类型时可能需要的大部分功能。 所有字段都详细说明了如何使用它们。 您可以创建帖子名称和描述、标签、选择要显示的部分(标题、编辑、评论、引用等)、选项(重写、页面、提要等),以及父子之间的帖子关系。 您可以将设置导出到其他网站。
它将帖子类型添加到仪表板菜单中,因此您可以像选择页面或帖子一样选择它。 我没有看到复制自定义帖子类型的方法,因此您必须从头开始创建。
它还有一些其他有趣的功能,包括调整图像大小和裁剪图像的能力以及高级图像缓存,以便您的图像尽快加载和显示。 您还可以将 API 集成到您的 PHP 中,以显示具有其本机数据类型的字段。
它易于使用,并包含帮助您入门的指南。 该指南的有趣之处在于您可以从列表中选择您正在构建的站点类型,然后它会向您显示该类型站点的信息。 网站包括宣传册、目录、电子商务、博客等。
最后的想法
自定义帖子类型是使您的内容脱颖而出的好方法,并且可以使用代码或简单的插件轻松创建自己的帖子。 使用此处描述的方法之一,您可以立即创建自己的自定义帖子类型。
你呢? 您使用自定义帖子类型吗? 您使用插件还是更喜欢编写自己的代码? 在下面的评论中告诉我们。