自 2.9 版本起,wordpress 引入了使用自定义帖子类型的功能。现在,在 3.0 版本中,可以选择为自定义帖子类型创建面板,从而使事情变得更进一步。在本教程中,我们将向您展示如何将站点中的自定义帖子类型实现到 wordpress 站点中。
创建自定义帖子类型 – 使用插件
从版本 3.0 开始,wordpress 没有任何内置 ui(用户界面)来创建自定义帖子类型。我们只能使用两个选项来创建自定义帖子类型:插件或将它们硬编码到主题的functions.php文件中。首先,让我们看看如何使用插件来创建自定义帖子类型。
自定义帖子类型 UI
自定义帖子类型 UI是由WebDevStudios的 Brad Williams 开发的插件,它允许您轻松创建自定义帖子类型和分类法。该插件最酷的功能之一是它生成一个代码来创建自定义帖子类型,因此您可以将其粘贴到主题的functions.php文件中。该插件的怪癖之一是无法在所有 post_types 之间共享分类法。
从“自定义帖子类型 UI”面板中单击“添加新内容”。
接下来,您将看到几个需要填写的选项。“帖子类型名称”是 WordPress 用来查询此类 post_type 的所有帖子的名称。“标签”将显示在仪表板的侧边栏上,就像常规的“发布”菜单一样。如果展开“查看高级选项”,您将看到更多可以配置的选项。大多数都是不言自明的,例如“公共”和“显示 UI”。第一个设置为 true 时允许在侧边栏上显示自定义帖子类型菜单,另一个(显示 ui)设置为 true 时生成菜单面板。
“重写”允许自定义帖子类型使用SEO 友好的 WordPress URL(永久链接)。“自定义重写 Slug”可以设置为您喜欢的任何内容。WordPress 将使用此 slug 来生成永久链接。因此,如果我们有example.com带有“电影”的自定义重写段,您的自定义帖子类型永久链接将类似于example.com/movies
WordPress的“Query Var”功能允许您查询自定义帖子类型的帖子。因此,如果我们使用前面给出的示例,要访问标题为My First Movie Post 的帖子(写在Movies post_type 下),我们可以输入example.com/?movies=my-first-movie-post。所以查询变量看起来像这样:?posttypename
最后,您可以选择自定义帖子类型支持的不同功能,例如缩略图/特色图像和摘录。
创建自定义帖子类型 – 使用 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',)) );
由
在 WordPress 中一键使用
让我们剖析一下代码。
register_post_type( $post_type, $args ):此函数接受两个参数,$post_type 或帖子类型的名称,以及 $args,参数数组。
标签:为显示在管理面板侧边栏中的帖子类型指定的复数名称。
公众:真/假。允许管理 UI 填充此类帖子。
show_ui:真/假。显示或隐藏管理此帖子类型的默认 UI。
ability_type:默认值:post 用于检查读取、编辑和删除功能的帖子类型。
分层:帖子类型是否分层。
重写:真/假。默认值: true 如果输入 slug 参数,则 slug 名称将添加到帖子前面。
query_var: true/false 将帖子类型名称设置为查询变量。
支持:默认:标题和作者 设置帖子类型允许的不同支持功能。
访问WordPress Codex了解有关register_post_type()的更多信息。
显示自定义帖子类型帖子
要显示自定义帖子类型的帖子,请在循环中添加以下代码。将“名称”替换为您的帖子类型的名称。注意:您不必在 index.php 文件中添加自定义帖子类型。您可以创建自定义 WordPress 页面并在Loop中运行以下查询。
$query= newWP_Query( 'post_type=name');
由
在 WordPress 中一键使用
要显示多种帖子类型的帖子,请将上面的代码更改为以下内容。使用您的自定义帖子类型名称更改电影。
$query= newWP_Query( array( 'post_type'=> array( 'post', 'movies')) );
由
在 WordPress 中一键使用
上面的代码将显示常规帖子类型(帖子)和自定义帖子类型(电影)的所有帖子。