我有一个定制邮政类型(CPT)称为“职业”与“职业”作为鼻涕虫。
我用Elementor创建了职业列表页面(页面片段也是“职业”),删除了Posts小部件,并使用查询设置来选择职业CPT。然后,我再次使用Elementor为我的职业帖子创建了一个单一的帖子主题。单个帖子运行良好,但现在当我单击回我的职业列表页面时,我得到了一个与我用Elementor创建的页面完全不同的存档页面(我看到该页面现在使用的是archive.php和显示模板插件)。我试图通过选择自定义页面模板来强制使用模板,但这并没有帮助。我也试过重新设置Permalinks,这也没有帮助。
当我试图在Elementor中打开我的职业页面时,我会得到“预览无法加载错误”。当我将页面URL从“职业”更改为“职业”或“空缺职位”时,错误就消失了,我现在就可以用Elementor打开页面(用一个新的段塞)。
这是一个正确的假设,CPT段塞不能与页面段塞相同?是否有更好的方法来完成这一任务(最好在页面和CPT中使用相同的段塞)?甚至在元素或专业人士的帮助下?
这是我的CPT代码:
function create_careers_posttype() {
register_post_type( 'careers',
array(
'labels' => array(
'name' => __('Careers'),
'singular_name' => __('Career')
),
'public' => true,
'has_archive' => true,
'rewrite' => array('slug' => 'careers'),
'show_in_rest' => true,
'supports' => array('title', 'page-attributes'),
)
);
}
add_action( 'init', 'create_careers_posttype' );发布于 2022-03-04 02:15:51
您不能使用弹格careers作为页面段塞,因为它已经被用作CPT的名称。/careers是您的post类型存档,这就是为什么加载archive.php而不是page.php的原因。
即使您确实有一个带有该段代码段的页面,归档重写规则也有更高的优先级。您还可以在生成的sitemap中找到它,/careers段塞也用于为该类型的各个帖子生成permalinks。
你能得到的最接近的就是关闭档案。
我试图通过选择一个自定义页面模板来强制使用模板,但这并没有帮助。
这是不起作用的,因为页面从来不是要显示的东西。WordPress认为,基于主查询,它位于careers类型的帖子存档中,并将按照标准模板层次结构进行操作,选择它能够找到的最具体的匹配模板。例如,如果archive-careers.php可用,它就会加载它。
记住,选择的模板是由主查询的参数决定的。WordPress没有加载页面是因为您在page.php上,而是相反,它加载page.php是因为主查询说它是一个页面,如果查询中的页面指定一个页面,它可能会决定加载一个自定义页面模板。但如果是个档案馆那就不会发生了。有关更多细节,请查看模板层次结构。
甚至在元素或专业人士的帮助下?
如果您想使用Elementor对归档进行样式化,那么您将需要与Elementor社区中的Elementor支持或发布联系。第三方插件开发支持不在这里的主题,而不是在这个堆栈范围内。
https://wordpress.stackexchange.com/questions/403370
复制相似问题