通过ACF使用可配置侧栏的自定义支柱类型

时间:2015-08-26 作者:Lars

我正在使用自定义帖子类型(CPT)trainings 在我客户的一个网站上。我还添加了一个名为sidebars, 可以通过“关系”字段类型链接到培训或页面。为了对所有培训进行概述,我创建了一个单独的模板“tpl trainings.php”,并添加了一个“概述”页面,该页面反过来使用该模板。这样,客户可以添加侧栏(例如,一般联系信息),并在其他不同页面上使用侧栏,包括培训概述页面。

然而,有一个问题。自trainings-CPT 具有url/trainings/..., 我无法添加带有永久链接的页面/trainings/, 但必须欺骗和使用/training/. 这是不一致的,而不是wordpress想要的层次结构。如果我添加archive-trainings.php, 存档页面显然加载正确,但客户端无法链接所需的侧栏,因为存档页面在后端没有自己的菜单项。

除了向主题后端菜单选项添加自定义代码之外,还有人知道如何解决这个问题吗?

1 个回复
最合适的回答,由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
}

相关推荐

Force pretty permalinks?

我正在构建一个插件,该插件将用于单个站点,并依赖于add_rewrite_rule 要工作,需要打开永久链接。打开它们并不困难,因为它只是一个站点,但我担心其中一个管理员可能会在不知道自己在做什么的情况下关闭它,并破坏该站点。如何以编程方式强制保持漂亮的永久链接?