我在理解逻辑上有点困难,我会尽力解释的。
假设我想有一个视频部分。这就是我(想)做这件事的方式。
我制作了一个名为“视频”的自定义帖子类型我制作了一个模板来显示视频项目,称之为tpl视频。php我制作了一个名为“视频”的普通页面,然后选择tpl视频。php作为我的页面模板当然,这是可行的,除非您使用某种分页方式,比如PagNavi。每当我转到第2页时,我都会得到一个错误404。原因是:我的CPT与我的页面名称相同。
所以我必须换一个,我不想换,因为这很奇怪。如果我这样做,很可能是“视频项目”作为CPT,而“视频”作为页面。但这不是我想要的URL:这将创建网站。com/视频/视频项目/我的视频项目,但我想要网站。com/视频/我的视频项目。
正确的方法是制作存档视频。php。但是,对于归档页面,我无法利用普通页面的内容,如元数据库、缩略图等。
是否有一种方法可以使归档页面表现为页面,而无需为每个归档页面创建自定义选项?
Edit: 关于我将博客作为CPT的使用,有一个误解。博客可以是任何东西:视频、画廊等等。问题已更新。
SO网友:Chip Bennett
这个WordPress Template Hierarchy for custom post type archive index pages 提供解决方案。
只需创建一个名为archive-{post-type}.php
- 在你的情况下archive-blog.php
. WordPress将自动创建存档索引(如果您设置\'has_archive\' => true
在您的register_post_type()
调用),将使用archive-blog.php
自动分页,分页将立即生效。
正确的方法是创建归档博客。php。但是,对于那些页面,我无法利用普通页面的东西,比如元数据库、缩略图等。
为什么不呢?对于特色图像,只需在register_post_type()
呼叫对于元数据库:您希望在CPT中使用哪些元数据库?对于自定义post meta框,只需添加add_meta_box()
呼叫和更改$posttype
到blog
.
所以我必须换一个,我不想换,因为这很奇怪。如果我这样做,很可能是“博客项目”作为CPT,“博客”作为页面。但这不是我想要的URL。
如果你只想用/blog
博客帖子索引的端点,只需使用静态首页,创建一个名为“blog”的静态页面,然后通过Settings -> Reading
. 不需要自定义职位类型。