cms网站内容如何自定义(如何在WordPress中创建自定义发布类型之自动篇(组图))
优采云 发布时间: 2021-12-01 02:10cms网站内容如何自定义(如何在WordPress中创建自定义发布类型之自动篇(组图))
通常人们只是错误地将 WordPress 归类为博客平台。在过去的几年里,WordPress 已经发展成为一个强大的内容管理系统(cms)。WordPress 默认自带的主要内容类型是 文章 和页面,但您可以根据需要创建更多自定义内容类型。这些自定义内容类型就是我们所说的自定义发布类型。在本文中,我们将向您展示如何在 WordPress 中创建自定义帖子类型,并教您如何灵活使用它。
WordPress 的自定义发布类型是什么?
自定义发布类型是内容类型,例如 文章 和页面。自从WordPress从一个简单的平台发展到今天强大的cms平台后,发布内容的方式一直在延续,但发布的类型可以是多种多样的。默认情况下,WordPress 带有以下发布类型:
您可以创建自己的自定义发布类型,然后为其命名一个您认为合适的名称。比如你经营的是影评类网站,那么你可能想创建影评内容发布类型。此版本类型具有不同的自定义列,甚至具有自己的自定义目录结构。发布类型的其他示例包括:作品集、推荐书、产品等。
用于创建自定义发布类型的自动化文章
在 WordPress 中创建自定义帖子类型的最简单方法是使用插件。强烈推荐WordPress新手使用这种方法,因为安全性超级简单。
首先,您需要安装并启用自定义帖子类型 UI 插件。启用后,插件会在管理员后台的左侧边栏中添加一个名为“CPT UI”的菜单项。
单击“CPT UI”-“添加/编辑帖子类型”以创建新的自定义帖子类型。
自定义帖子类型 UI 插件还允许您创建自定义类别。
在自定义发布类型页面,您需要为自定义发布类型指定一个别名,不超过 20 个字符,例如:电影、食谱、交易、词汇表等。
在下一个条目中,您需要为您的自定义发布类型定义一个标签。这个标签会出现在管理员后台的侧边栏目录中,就像文章和pages一样。如果您还使用英语,则必须区分复数和单数。标签的单数形式将由 WordPress 显示在描述和其他用户界面中。
单击“添加帖子类型”按钮,您的自定义帖子类型已创建。
当然,您可以继续向下滚动屏幕,下面有一些高级设置可用于自定义发布类型。
用于创建自定义发布类型的手册文章
使用插件的一个大问题是,当插件被禁用时,您的自定义发布类型将消失。您保存在自定义发布类型中的数据还在,但该自定义发布类型已退出系统,无法从管理员后台界面访问。
如果您正在为客户构建 网站 并且不想安装其他插件,那么您可以通过将代码添加到主题的functions.php 文件或站点插件特定文件中来手动创建自定义发布类型。
首先,我们首先向您展示一个快速且完全有效的示例,以便您了解它是如何工作的。看看下面的代码:
// 我们的自定义帖子类型函数
函数 create_posttype() {
register_post_type('电影',
// CPT选项
大批(
'标签' => 数组(
'name' => __('电影'),
'singular_name' => __('电影')
),
'公开' => 真,
'has_archive' => 真,
'rewrite' => array('slug' =>'movies'),
)
);
}
// 将我们的函数连接到主题设置
add_action('init','create_posttype');
这段代码的作用是用一组参数将发行类型“电影”注册到系统中。这些参数是我们用于自定义发布类型的选项。数组由两部分组成,第一部分是标签,它本身就是一个数组。第二部分收录其他参数,例如可见性(public visible),是否存档(has archive),以及将在发布类型的 URL 中使用的别名(slug)。
现在让我们看一下详细代码,这些代码可以为您的自定义发布类型添加更多选项。
/*
* 创建一个函数来创建我们的 CPT
*/
函数 custom_post_type() {
// 为自定义帖子类型设置 UI 标签
$标签=数组(
'name' => _x('Movies','Post Type General Name','twentythirteen'),
'singular_name' => _x('Movie','Post Type Singular Name','twentythirteen'),
'menu_name' => __('Movies','twentythirteen'),
'parent_item_colon' => __('Parent Movie','twentythirteen'),
'all_items' => __('所有电影','twentythirteen'),
'view_item' => __('查看电影','twentythirteen'),
'add_new_item' => __('添加新电影','twentythirteen'),
'add_new' => __('Add New','twentythirteen'),
'edit_item' => __('Edit Movie','twentythirteen'),
'update_item' => __('更新电影','twentythirteen'),
'search_items' => __('搜索电影','twentythirteen'),
'not_found' => __('Not Found','twentythirteen'),
'not_found_in_trash' => __('Not found in Trash','twentythirteen' ),
);
// 为自定义帖子类型设置其他选项
$args = 数组(
'标签' => __('电影','二十十三'),
'description' => __('电影新闻和评论','twentythirteen'),
'标签' => $标签,
// 此 CPT 在帖子编辑器中支持的功能
'supports' => array('title','editor','excerpt','author','thumbnail','comments','revisions','custom-fields', ),
// 您可以将此 CPT 与分类法或自定义分类法相关联。
'分类法' => 数组('流派'),
/* 一个分层的 CPT 就像 Pages 并且可以有
* 父项和子项。无等级的 CPT
* 就像帖子。
*/
'分层' => 假,
'公开' => 真,
'show_ui' => 真,
'show_in_menu' => 真,
'show_in_nav_menus' => 真,
'show_in_admin_bar' => 真,
'menu_position' => 5,
'can_export' => 真,
'has_archive' => 真,
'exclude_from_search' => 假,
'publicly_queryable' => 真,
'capability_type' =>'页面',
);
// 注册您的自定义帖子类型
register_post_type('电影', $args );
}
/* 钩入'init'动作,使函数
* 收录我们的帖子类型注册不是
* 不必要地执行。
*/
add_action('init','custom_post_type', 0);
如您所见,我们为自定义发布类型添加了更多选项,您可以添加更*敏*感*词*,例如支持修订版本、精选图片、自定义列等。
我们甚至将自定义类型与称为流派的类别相关联。另请注意,我们将层次结构(hierarchical)设置为 False。如果您希望自定义发布类型类似于页面,则可以将此值设置为 True。
另请注意重复使用二十三个,它被称为文本字段。如果您的主题已翻译,并且您还想翻译与自定义帖子类型相关的文本,则需要标记该主题使用的文本字段。文本字段可以在主题目录中 style.css 文件的标题部分中找到。
在 网站 上显示自定义帖子类型
WordPress 本身支持显示自定义帖子类型。当您向自定义帖子类型添加一些内容时,它们将显示在 网站 上。
这里有一些方法可以尝试,每种方法都有自己的优点。
使用默认存档模板显示自定义发布类型
首先,您可以在“外观”-“菜单”中添加菜单的自定义链接。此链接与您的自定义发布类型相关联。如果您使用对 SEO 友好的永久链接,则您的链接看起来类似于以下内容:
如果您没有使用永久链接,那么您的链接将如下所示:
替换为您自己的域名,并将电影替换为您的自定义发布类型的名称。保存菜单并访问您的网站,您将看到刚刚添加的新菜单。单击菜单后,将显示使用主题默认存档模板的自定义发布类型存档页面。
使用自定义模板显示自定义发布类型存档页面和内容详细信息页面
如果您不喜欢默认模板的外观,那么您可以为自定义发布类型使用专用模板。您需要做的就是在主题文件夹中创建一个新文件并将其命名为 archive-movies.php。用您自己的自定义发布类型的名称替换电影。
您可以先将主题默认的archive.php文件内容复制到新文件中,然后开始修改代码,达到自己想要的效果。现在打开自定义发布类型的存档页面,将使用新模板来显示它。
同样,您也可以为单个内容详细信息页面创建自定义模板。在主题目录下新建一个single-movies.php文件,不要忘记用自己的名字替换movies。
然后将主题single.php模板中的内容复制到single-movies.php中,然后修改代码,直到满意为止。