如何在 WordPress 3.0 中使用自定义帖子类型

从 2.9 版开始,WordPress 引入了使用自定义帖子类型的功能。现在有了 3.0 版,可以选择为您的自定义帖子类型创建面板。在本教程中,我们将向您展示如何在您的 WordPress 网站中实现您网站中的自定义帖子类型。

创建自定义帖子类型 – 使用插件

从 3.0 版开始,WordPress 没有任何内置 UI(用户界面)来创建自定义帖子类型。我们只能使用两个选项来创建自定义帖子类型:插件或将它们硬编码到主题的functions.php文件中。首先,让我们看看我们如何使用插件来创建自定义帖子类型。

自定义帖子类型 UI

自定义帖子类型 UI

自定义帖子类型 UI是由WebDevStudios的 Brad Williams 开发的插件,可让您轻松创建自定义帖子类型和分类法。这个插件最酷的功能之一是它生成一个代码来创建自定义帖子类型,因此您可以将其粘贴到主题的functions.php文件中。该插件的一个怪癖是无法在所有 post_types 之间共享分类法。

为自定义帖子类型生成代码

从自定义帖子类型 UI 面板中单击“添加新的”。

为自定义帖子类型 UI 添加新按钮

接下来,您将获得几个选项来填写。“帖子类型名称”是 WordPress 将用于从此类 post_type 查询所有帖子的名称。“标签”将显示在仪表板的侧边栏上,就像常规的“发布”菜单一样。如果您展开“查看高级选项”,您将看到更多可以配置的选项。大多数都是不言自明的,例如“Public”和“Show UI”。第一个设置为 true 时允许自定义帖子类型菜单显示在侧边栏上,另一个(显示 ui)设置为 true 时生成菜单面板。

“重写”是允许自定义帖子类型使用SEO 友好的 WordPress URL(永久链接)的原因。“Custom Rewrite Slug”可以设置为您喜欢的任何内容。WordPress 将使用这个 slug 来生成永久链接。因此,如果我们的example.com带有自定义的“电影”重写 slug,那么您的自定义帖子类型永久链接将类似于example.com/movies

WordPress“查询变量”功能允许您查询自定义帖子类型的帖子。因此,如果我们使用前面给出的示例来访问标题为My First Movie Post的帖子,该帖子写在Movies post_type 下,我们可以输入example.com/?movies=my-first-movie-post。所以查询变量看起来像这样:?posttypename

最后,您可以选择自定义帖子类型支持的不同功能,例如缩略图/特色图片和摘录。

自定义帖子类型 UI 选项

创建自定义帖子类型 – 使用 Functions.php 文件

硬编码自定义帖子类型

如果您更喜欢在没有插件的情况下使用自定义帖子类型,那么只需将以下代码添加到主题的 functions.php 文件中:

// Creates Movies post typeregister_post_type(‘movies’, array(‘label’ => ‘Movies’,’public’ => true,’show_ui’ => true,’capability_type’ => ‘post’,’hierarchical’ => false,’rewrite’ => array(‘slug’ => ‘movies’),’query_var’ => true,’supports’ => array(‘title’,’editor’,’excerpt’,’trackbacks’,’custom-fields’,’comments’,’revisions’,’thumbnail’,’author’,’page-attributes’,)) );

让我们剖析一下代码。

register_post_type( $post_type, $args ):此函数接受两个参数,$post_type 或帖子类型的名称,以及 $args,一个参数数组。

label:在管理面板侧边栏中显示的帖子类型的复数名称。

公开:真/假。允许使用此类型的帖子填充管理 UI。

show_ui:真/假。显示或隐藏默认 UI 以管理此帖子类型。

能力类型:默认值:用于检查读取、编辑和删除能力的帖子类型。

分层:帖子类型是否分层。

重写:真/假。默认值:true 如果输入 slug 参数,则 slug 名称将附加到帖子中。

query_var: true/false 将帖子类型名称设置为查询变量。

支持:默认值:标题和作者设置帖子类型允许的不同支持功能。

有关register_post_type()的更多信息,请访问WordPress Codex。

显示自定义帖子类型帖子

要显示来自您的自定义帖子类型的帖子,请在循环中添加以下代码。将“名称”替换为您的帖子类型的名称。注意:您不必在 index.php 文件中添加自定义帖子类型。您可以创建自定义 WordPress 页面并在Loop中运行以下查询。

$query = new WP_Query( ‘post_type=name’ );

要显示来自多个帖子类型的帖子,请将上面的代码更改为以下代码。使用您的自定义帖子类型名称更改电影。

$query = new WP_Query( array(    ‘post_type’ => array( ‘post’, ‘movies’ )) );

上面的代码将显示来自常规帖子类型(帖子)和自定义帖子类型电影的所有帖子。

而已。我们希望本教程对您有所帮助,并且不要忘记在评论中发布任何问题。