WordPress 自定义帖子类型的完整指南

已发表: 2021-04-27

WordPress 并不总是关于“帖子”和“页面”。 有时您需要不同的内容类型,因为并非每个 WordPress 站点都是关于博客的。 您需要能够将自定义帖子类型添加到您的 WordPress 站点。

如果您有能力使用帖子类型,那么您可以将您的管理区域变成一个有组织的、令人兴奋的、美丽的地方。 最终,您希望您的 WordPress 网站在创建新内容时感到充满力量。

自定义帖子类型可让您将博客站点变成更强大的内容管理系统。 因为您可以创建其他内容类型,而不仅仅是帖子和页面。

因此,今天我们将解决 WordPress 的这一独特功能,并指导您为您的网站创建自己的自定义帖子。

但首先让我们了解基础知识,好吗?

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

WordPress 自定义帖子类型的完整指南 02

帖子类型是在 WordPress 中对不同类型的内容进行分类的方法。

我们假设您已经熟悉两种最常见的帖子类型:帖子和页面。 但您可能不知道的是,WordPress 还捆绑了其他一些帖子类型。

默认情况下,WordPress 带有以下帖子类型:

  • 邮政
  • 依恋
  • 修订
  • 导航菜单。

因此,您可以创建自己的自定义帖子类型并随意调用它们。

例如,如果您经营一个书评网站,那么您可能想要创建一个书评帖子类型。 这种帖子类型可以有不同的自定义字段,甚至可以有自己的自定义类别结构。

帖子类型的其他示例包括电影、作品集、推荐书、产品等。

因此,如果您想创建自己的作品集,我们建议您借助自定义帖子类型。 否则,您很容易迷路。 创建一个单独的投资组合帖子类型将允许您的用户轻松浏览您的所有工作。

现在,我们将向您展示创建 WordPress 自定义帖子类型的方法。 有两种类型的方法:

  1. 创建自定义帖子类型(使用插件
  2. 创建自定义帖子类型(手动

我们将向您展示这两种方式。

如何使用 WordPress 插件添加自定义帖子类型

那么,这是您将学习如何使用插件创建自定义帖子类型的部分。 WordPress 的存储库中有超过 65k+ 个插件。 并且有许多插件可以帮助您轻松地为您的网站创建自定义帖子类型。

其中之一是 WP 用户前端。 它是周围最畅销的会员插件之一,它使创建自定义帖子类型变得非常容易。

安装插件后,您需要按照这些简单的步骤来创建自定义帖子类型。 开始了,

第 1 步:创建表单

如何在WPUF中添加表单

无需通过WP 用户前端 > 发布表单 > 添加新的。 创建您的表单。 添加必要的表单字段。 保存表格。

第 2 步:设置帖子状态

创建表单后,您必须通过WP User Frontend > Post Forms进行导航。 通过选择设置 > 发布设置 > 发布状态更新现有表单。

因此,您将能够在那里看到各种自定义帖子类型。 选择您的帖子类型并保存表格。

第 3 步:创建分类法

创建分类法

接下来,您必须返回到表单编辑器,然后在分类部分下,您可以看到自定义分类。

第 4 步:创建页面

创建页面

但是,要创建新页面,请复制表单的简码,或编辑现有的简码。 粘贴简码。

在浏览器中查看页面。 您的自定义帖子类型提交已完成。

如果您想现场观看,这里有一段短片供您观看。 通过它并在几分钟内制作您的自定义帖子类型表单。

这就是您可以使用 WordPress 用户前端插件轻松创建 WordPress 自定义帖子类型的方法。

wp-user-frontend-solution-wordpress

如何手动创建自定义帖子类型

您一定在想为什么我们要向您展示手动创建自定义帖子类型,而您可以使用 WordPress 插件创建自定义帖子类型。 好吧,使用插件创建 WordPress 自定义帖子类型的问题是当您停用该插件时,您可能会丢失所有数据。

数据可能在插件中,但您的帖子类型将变为未注册状态,您将无法从管理区域访问它。

因此,手动创建自定义帖子是一种很好的做法。 我们将从那里开始。

看看这段代码,

 // Our custom post type function function create_posttype() { register_post_type( 'movies', // CPT Options array( 'labels' => array( 'name' => __( 'Movies' ), 'singular_name' => __( 'Movie' ) ), 'public' => true, 'has_archive' => true, 'rewrite' => array('slug' => 'movies'), 'show_in_rest' => true, ) ); } // Hooking up our function to theme setup add_action( 'init', 'create_posttype' );

当您将此代码添加到主题functions.php文件时,您将在 WordPress 菜单区域看到电影部分。

让我们告诉您这段代码的功能。 这段代码的作用是注册一个带有参数数组的帖子类型'movies' 。 这些参数是我们自定义帖子类型的选项。

这个数组有两部分,第一部分是有标签的,它本身就是一个数组。 第二部分包含其他参数,如公共可见性、存档、slug 和 show_in_rest 启用块编辑器支持。

这是一个代码,可以帮助您向 WordPress 自定义帖子类型添加更多选项,

 /* * Creating a function to create our CPT */ function custom_post_type() { // Set UI labels for Custom Post Type $labels = array( 'name' => _x( 'Movies', 'Post Type General Name', 'twentytwenty' ), 'singular_name' => _x( 'Movie', 'Post Type Singular Name', 'twentytwenty' ), 'menu_name' => __( 'Movies', 'twentytwenty' ), 'parent_item_colon' => __( 'Parent Movie', 'twentytwenty' ), 'all_items' => __( 'All Movies', 'twentytwenty' ), 'view_item' => __( 'View Movie', 'twentytwenty' ), 'add_new_item' => __( 'Add New Movie', 'twentytwenty' ), 'add_new' => __( 'Add New', 'twentytwenty' ), 'edit_item' => __( 'Edit Movie', 'twentytwenty' ), 'update_item' => __( 'Update Movie', 'twentytwenty' ), 'search_items' => __( 'Search Movie', 'twentytwenty' ), 'not_found' => __( 'Not Found', 'twentytwenty' ), 'not_found_in_trash' => __( 'Not found in Trash', 'twentytwenty' ), ); // Set other options for Custom Post Type $args = array( 'label' => __( 'movies', 'twentytwenty' ), 'description' => __( 'Movie news and reviews', 'twentytwenty' ), 'labels' => $labels, // Features this CPT supports in Post Editor 'supports' => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'comments', 'revisions', 'custom-fields', ), // You can associate this CPT with a taxonomy or custom taxonomy. 'taxonomies' => array( 'genres' ), /* A hierarchical CPT is like Pages and can have * Parent and child items. A non-hierarchical CPT * is like Posts. */ 'hierarchical' => false, 'public' => true, 'show_ui' => true, 'show_in_menu' => true, 'show_in_nav_menus' => true, 'show_in_admin_bar' => true, 'menu_position' => 5, 'can_export' => true, 'has_archive' => true, 'exclude_from_search' => false, 'publicly_queryable' => true, 'capability_type' => 'post', 'show_in_rest' => true, ); // Registering your Custom Post Type register_post_type( 'movies', $args ); } /* Hook into the 'init' action so that the function * Containing our post type registration is not * unnecessarily executed. */ add_action( 'init', 'custom_post_type', 0 );

如您所见,我们使用此代码向自定义帖子类型添加了更多选项。 现在,您的帖子类型将具有更多功能,例如支持修订、特色图片、自定义字段等。

我们还将此自定义帖子类型与称为流派的自定义分类相关联。

WordPress 自定义帖子类型

手动创建自定义帖子类型的额外提示

您可能还会注意到,有一部分我们将层次结构值设置为 false。 但是,如果您希望您的自定义帖子类型表现得像 Pages,那么您可以将此值设置为 true。

另一件需要注意的事情是 twentytwenty 字符串的重复使用,这称为文本域。 因此,如果您的主题已准备好翻译,那么您将需要提及您的主题使用的文本域。

您可以在主题目录中的style.css文件中找到主题的文本域。 文本域将在文件的标题中提及。

现在您已经了解了如何在您的 WordPress 网站上创建自定义帖子类型,您需要了解如何在您的网站上显示帖子。

在您的站点上显示自定义帖子类型

要显示新创建的自定义帖子类型,您需要执行简单的步骤。

只需转到外观 » 菜单并向您的菜单添加自定义链接。 此自定义链接是指向您的自定义帖子类型的链接。

菜单

您需要像下面这样编写您的自定义帖子类型 URL,

http://example.com/?post_type=movies

或者如果您使用 SEO 友好的永久链接,那么您的 CPT 的 URL 很可能是这样的:

http://example.com/movies

不要忘记将 example.com 替换为您自己的域名,将 movies 替换为您的自定义帖子类型名称。

保存菜单后,您可以访问您的网站,您将看到您添加的新菜单,当您单击它时,它将使用主题中的archive.php模板文件显示您的自定义帖子类型存档页面。

在首页显示自定义帖子类型

使用 WordPress 自定义帖子类型的主要优点是它使您的自定义内容远离常规帖子。 但是,如果您愿意,可以在首页上发布自定义内容。

您所要做的就是添加这段代码,

 add_action( 'pre_get_posts', 'add_my_post_types_to_query' ); function add_my_post_types_to_query( $query ) { if ( is_home() && $query->is_main_query() ) $query->set( 'post_type', array( 'post', 'movies' ) ); return $query; }

只需用您的自定义帖子替换“电影”即可。 就是这样!。

因此,这就是您可以在 WordPress 网站上手动创建和显示自定义帖子类型的方法。

创建自定义帖子并将您的博客网站变成完美的 CMS 平台

如您所见,使用 WordPress 创建完美的 CMS 系统非常容易。 因为它为您提供了创建自定义管理系统的自由、功能和特性。

由于创建 WordPress 自定义帖子类型完全在您手中,您可以为您的控件创建额外的功能。 此外,您还可以创建自定义管理页面。 但我们改天再谈。

因此,请按照本指南创建您的自定义帖子类型,并让我们知道您的体验!

订阅 weDevs 博客!