如何在 WordPress 中创建自定义帖子类型

已发表: 2021-06-09
wordpress 自定义帖子类型
关注@Cloudways

当我们安装WordPress时,我们在后端只获得了三种内置的内容类型,即帖子、页面和媒体。 然而,今天 WordPress 已经变得相当灵活和先进。

添加更多帖子类型的方法也有所扩展。 多样化的使用需要更多的内容类型,因为帖子、页面和媒体是不够的,这就是 WordPress 自定义帖子类型派上用场的地方。

  • 什么是 WordPress 自定义帖子类型?
  • 如何创建 WordPress 自定义帖子类型
  • 如何在 WordPress 网站上创建新的自定义帖子
  • 如何创建模板和获取列表
  • 如何为自定义帖子类型添加菜单
  • 如何为自定义帖子类型创建详细信息页面

什么是 WordPress 自定义帖子类型?

自定义帖子类型用于将常规 WordPress 网站转换为内容管理系统。 顾名思义,您可以使用自定义帖子类型为您的网站创建各种内容类型。

更新:WordPress 5.x 带有全新的 Gutenberg 编辑器。 如果您希望将 Gutenberg 与 WordPress 自定义帖子类型一起使用,这里是为 CPT 启用 Gutenberg 编辑器的一个很好的指南。
更新:WordPress 5.x 带有全新的 Gutenberg 编辑器。 这是为自定义帖子类型启用古腾堡编辑器的详细指南

除此之外,您还可以在 WordPress 安装中找到几种默认可用的帖子类型,包括:

  • 帖子 - 博客文章
  • 页面 - 静态页面
  • 附件 - 附加媒体
  • 修订 - 修订后
  • 导航菜单 - 导航菜单

注意:阅读自定义帖子类型 codex 文档以获取有关 WordPress 中其他帖子类型的更多详细信息。

在自定义帖子类型方面,WordPress 支持无限数量的自定义帖子类型。 您可以创建自定义帖子并随时随地调用它们。

例如,如果您运行一个新闻网站并想要添加一个名为“新闻”的自定义帖子类型。 创建后,新闻帖子类型将在 WordPress 仪表板管理区域中拥有自己的菜单。 此外,您可以创建多种帖子类型,例如电影、作品集等。

托管 WordPress 主机每月 10 美元起

在几分钟内部署安全且可扩展的云服务器并见证改进的性能结果。

开始免费试用

如何创建 WordPress 自定义帖子类型

按照以下步骤在 WordPress 网站上创建自定义帖子类型:

  • 从 WordPress 主题目录导航到function.php文件
  • 将以下代码添加到function.php文件中
/* 自定义帖子类型开始 */

函数 create_posttype() {
register_post_type('新闻',
// 彩管选项

大批(
  '标签' => 数组(
   '名称' => __( '新闻' ),
   'singular_name' => __( '新闻' )
  ),
  '公共' => 真的,
  'has_archive' => 假,
  '重写' => 数组('slug' => '新闻'),
 )
);
}
// 将我们的函数连接到主题设置
add_action('init', 'create_posttype');

/* 自定义帖子类型结束 */
  • 添加代码后,新闻帖子类型将自动出现在管理区域中

Creating a Custom Post Type

  • 创建自定义帖子类型时,需要使用init作为add_action()中的钩子,并且register_post_type()函数将接受参数
/*自定义帖子类型开始*/

函数 cw_post_type_news() {

$支持=数组(
'title', // 文章标题
'editor', // 发布内容
'author', // 发表作者
'thumbnail', // 特色图片
'excerpt', // 发布摘录
'custom-fields', // 自定义字段
'comments', // 发表评论
'revisions', // 发布修订
'post-formats', // 发布格式
);

$标签=数组(
'名称' => _x('新闻', '复数'),
'singular_name' => _x('news', 'singular'),
'menu_name' => _x('news', 'admin menu'),
'name_admin_bar' => _x('news', 'admin bar'),
'add_new' => _x('新增', '新增'),
'add_new_item' => __('添加新消息'),
'new_item' => __('新消息'),
'edit_item' => __('编辑新闻'),
'view_item' => __('查看新闻'),
'all_items' => __('所有新闻'),
'search_items' => __('搜索新闻'),
'not_found' => __('没有找到新闻'),
);

$args = 数组(
'支持' => $支持,
'标签' => $标签,
'公共' => 真的,
'query_var' => 真,
'重写' => 数组('slug' => '新闻'),
'has_archive' => 真,
'分层' => 假,
);
register_post_type('新闻', $args);
}
add_action('init', 'cw_post_type_news');

/*自定义帖子类型结束*/

$supports:指定帖子类型兼容并支持所有基本功能。

$labels:指定帖子类型正确引用到管理区域。

$args:指定新闻的永久链接段和位于Posts菜单下方的菜单位置。

现在让我们看看向我们的 WordPress 网站添加自定义帖子功能之前和之后的情况。

Before adding custom post features on WordPress

– 添加功能之前

After adding custom post features on WordPress
- 添加功能后

上面的步骤告诉了如何将 WordPress 自定义帖子类型注册到任何主题的后端。 现在让我们学习如何在 WordPress 网站上添加自定义帖子。

如何在 WordPress 网站上创建新的自定义帖子

您可以按照以下步骤在 WordPress 网站上创建新的自定义帖子:

  • 点击注册的自定义帖子类型,在我们的例子中是“新闻”。
  • 单击添加新的
  • 输入帖子的标题正文
  • 键入摘录,并设置特色图像
  • 单击“发布”按钮以实时发布新的自定义帖子。

Create a New Custom Post on a WordPress Website

如何创建模板和获取列表

创建模板并获取列表需要创建一个名为 template-news.php 的新文件。

  • 将新创建的文件放在您的主题文件夹中。
  • 将以下代码添加到文件中:
 <?php
/*模板名称:新闻*/
get_header();
查询帖子(数组(
   'post_type' => '新闻'
)); ?>
<?php
while (have_posts()) : the_post(); ?>
<h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2>
<p><?php the_excerpt(); ?></p>
<?php 结束;
get_footer();
?>

页面构建器让您无需代码即可开发网站

找出哪个页面构建器表现最好以及创建网站所需的功能。

带我到那里

选择一个模板

  • 转到您的WordPress 仪表板
  • 单击页面>添加新的
  • 创建一个名为“新闻”的新页面
  • 点击右侧的页面属性,进入模板下的下拉菜单
  • 选择新模板“新闻
  • 单击更新按钮以设置您的模板

有关上述步骤的直观表示,请参阅下图:

Select template

下图代表您的列表页面的最终显示:

Listing Page Result

如何为自定义帖子类型添加菜单

按照以下步骤将您的自定义帖子类型添加为 WordPress 网站上菜单选项的一部分:

  • 转到您的WordPress 仪表板
  • 导航到外观>菜单
  • 新闻页面添加到您的主菜单,以显示指向我们新创建的 WordPress 自定义帖子类型新闻的导航链接

如需进一步参考,请查看下图。

Add Menu for Custom Post Type

这就是您的网站在前端的外观。 看看下面的图片:

Front end page result

如何为自定义帖子类型创建详细信息页面

按照以下步骤为自定义帖子类型创建“详细信息”页面:

  • 添加一个名为 single-news.php 的新文件(位于您的 WordPress 主题中)
  • 将以下代码添加到文件中:
 <?php
get_header();
/* 开始循环 */
while (have_posts()) : the_post();
   get_template_part('template-parts/post/content', get_post_format());
结束; // 循环结束。
get_footer();
?>

现在是时候看看您的详细信息页面是什么样子了:

Detail Page for Custom Post Type

包起来!

您现在已经学习了如何在 WordPress 中创建自定义帖子类型,这非常复杂,但可以按照本博客中提到的步骤轻松完成。 如果您对博客有任何疑问或建议,请随时在下面发表评论。