我正在使用自定义帖子类型(CPT)trainings
在我客户的一个网站上。我还添加了一个名为sidebars
, 可以通过“关系”字段类型链接到培训或页面。为了对所有培训进行概述,我创建了一个单独的模板“tpl trainings.php”,并添加了一个“概述”页面,该页面反过来使用该模板。这样,客户可以添加侧栏(例如,一般联系信息),并在其他不同页面上使用侧栏,包括培训概述页面。
然而,有一个问题。自trainings-CPT
具有url/trainings/...
, 我无法添加带有永久链接的页面/trainings/
, 但必须欺骗和使用/training/
. 这是不一致的,而不是wordpress想要的层次结构。如果我添加archive-trainings.php
, 存档页面显然加载正确,但客户端无法链接所需的侧栏,因为存档页面在后端没有自己的菜单项。
除了向主题后端菜单选项添加自定义代码之外,还有人知道如何解决这个问题吗?
最合适的回答,由SO网友:TheDeadMedic 整理而成
在这种情况下,我会使用页面作为占位符来配置侧栏,即使WordPress在前端会完全忽略它。
只需添加页面,确保slugtrainings
, 让客户端根据需要进行设置,然后在模板中:
if ( $trainings_page = get_page_by_path( \'trainings\' ) ) {
$acf_sidebars_data = get_field( \'sidebars_acf_field_name\', $trainings_page->ID );
// Carry on sergeant
}