如何在不使用插件的情况下在 WordPress 中创建自定义帖子类型存档页面?

问题描述 投票:0回答:1

我想在我的 WordPress 主题中创建一个名为 Books 的自定义帖子类型,并在不依赖第三方插件的情况下显示其存档页面。我在主题的functions.php 文件中注册了自定义帖子类型,它出现在WordPress 管理区域中。但是,我不知道如何创建和自定义此帖子类型的存档页面。

这是我用来注册自定义帖子类型的代码:

    register_post_type('books', [
        'labels' => [
            'name' => 'Books',
            'singular_name' => 'Book',
        ],
        'public' => true,
        'has_archive' => true,
        'rewrite' => ['slug' => 'books'],
    ]);
}
add_action('init', 'create_custom_post_type');

自定义帖子类型注册成功,但是当我访问 http://example.com/books 时,我看到默认的“找不到页面”错误。

您尝试了什么以及您期待什么? 我希望书籍存档页面能够显示我所有自定义帖子的列表。我试过:

在 WordPress 设置中重新保存永久链接结构。 在我的主题文件夹中创建一个名为 archive-books.php 的模板文件,其中包含基本内容:

get_header();
echo "<h1>Books Archive</h1>";
get_footer();

确保自定义帖子类型设置为 public 并且 has_archive 为 true。 尽管做出了这些努力,存档页面仍然不显示自定义帖子。我错过了什么?

wordpress theme-development
1个回答
0
投票

我重新创建了与您相同的设置,但就我而言,使用相同的代码,我的链接工作正常。

您能否提供有关代码位置(是否在

functions.php
中)和启用的插件的更多信息?

我建议尝试另一个 slug 以确保与任何启用的插件不发生冲突。例如,您可以将 slug 从

books
修改为
custom_theme_books
或您偏好的任何其他前缀。

© www.soinside.com 2019 - 2024. All rights reserved.