多个发布选项子页面是否具有相同的ACF关系字段?

时间:2019-04-13 作者:Robert Andrews

如何确保高级自定义字段保存的数据Relationship 当在帖子类型的选项页上时,字段是否是单独的?

详情如下:

我有一个ACF字段组“Features”,其中包含一个关系字段。

它的目的是让我为一些自定义帖子类型预先设置一些特色帖子——“报告”和“文章”。

对于这些帖子类型,在注册每个帖子类型的相同代码中,我创建了一个选项子页面,如下所示…

// Support showcase Features for this post type, via ACF

if( function_exists(\'acf_add_options_page\') ) {

    // add sub page
    acf_add_options_sub_page(array(
        \'page_title\'    => \'Articles Features\',
        \'menu_title\'    => \'Articles Features\',
    \'menu_slug\'   => \'articles-features\',
    \'capability\'  => \'edit_posts\',
        \'parent_slug\'   => \'edit.php?post_type=article\',
    \'position\'    => false,
    \'icon_url\'    => false
    ));

}
“报告”也是如此。

然后我将“Features”字段组应用于选项子页-“Articles Features”和“Reports Features”。

问题是……数据是一样的。也就是说,为“Reports Features”设置的六个关系帖子也显示在“Articles Features”的选项子页面中。更改一个关系字段会覆盖另一个字段。

我如何确保这两件事是分开的,这样我就可以在不重新创建字段组的情况下,按照帖子类型清楚地保存特性?

1 个回复
SO网友:Robert Andrews

要使用的方法是。。。

acf_add_options_sub_page 声明,添加\'post_id\' => \'article\' 作为参数。(post_id)

这就是在“选项”页面上输入的与我的帖子类型相对应的字段数据的保存方式。

在显示端,使用$featured_posts = get_field(\'featured_posts\', \'article\');

“article”和“report”都使用。

在我的例子中,在显示端,我使用$queried_object->name 动态推断“文章”或“报告”帖子类型。

信用hube2