📅  最后修改于: 2023-12-03 15:35:43.808000             🧑  作者: Mango
WordPress 是一款广泛使用的内容管理系统 (CMS),可用于建立各种类型的站点,包括博客、企业站点、社交网站等。本文将介绍如何在 WordPress 中创建自定义帖子类型模板。
在 WordPress 中,帖子类型 (Post Type) 指的是帖子的类别,例如文章、页面等。每种帖子类型都有其各自的属性 (例如文章的标题和内容) 和默认模板。帖子类型模板是指针对某种特定类型的帖子创建的自定义模板。
首先,我们需要在 functions.php 文件中注册自定义帖子类型。以下示例注册了一个名为 “book” 的自定义帖子类型。
代码:
add_action('init', 'create_book_post_type');
function create_book_post_type() {
$args = array(
'labels' => array(
'name' => __('Books'),
'singular_name' => __('Book')
),
'public' => true,
'has_archive' => true,
'rewrite' => array('slug' => 'books'),
'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'comments')
);
register_post_type('book', $args);
}
在这个例子中,我们将自定义帖子类型命名为 “book”,并指定了帖子类型的标签名称 ( ‘Books’ 和 ‘Book’)。此外,我们还指定了其他选项,例如帖子类型是否公开可见、帖子存档的 URL 等等。
在主题目录中创建一个新文件,该文件的命名规则为:single-{post type}.php。在这个例子中,我们需要创建一个名为 single-book.php 的文件。
在文件中添加以下代码,这将读取我们注册的自定义帖子类型的数据,并放置到模板中以供显示。
代码:
<?php get_header(); ?>
<div id="primary" class="content-area">
<main id="main" class="site-main" role="main">
<?php while ( have_posts() ) : the_post(); ?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<header class="entry-header">
<?php the_title( '<h1 class="entry-title">', '</h1>' ); ?>
</header><!-- .entry-header -->
<div class="entry-content">
<?php the_content(); ?>
</div><!-- .entry-content -->
</article><!-- #post-## -->
<?php endwhile; // End of the loop. ?>
</main><!-- #main -->
</div><!-- #primary -->
<?php get_footer(); ?>
此模板将显示自定义帖子类型的标题和内容。
自定义帖子类型模板的创建让我们可以更加细粒度地控制帖子的显示和布局。我们可以自定义各种帖子类型的显示方式,并为其提供更优秀的用户体验。