提问人:Arun Saini 提问时间:6/8/2023 最后编辑:LoicTheAztecArun Saini 更新时间:6/29/2023 访问量:131
ACF 字段未显示在我的 WooCommerce 成员资格字段上
ACF field doesn't show on my WooCommerce membership fields
问:
我最近在研究WordPress。我遇到了一个关于 ACF 的问题。ACF 字段未显示在我的 WooCommerce 成员资格字段上
我在这里设置的帖子类型等于会员计划:
这在 ACF 选项中不可用,并且成员计划中没有自定义字段:post_type
post_type
我只期望一件事,即如何在会员计划编辑器中显示上述自定义字段 (ACF)。
答:
我今天自己遇到了这个问题,并且已经弄清楚了。这是因为 WooCommerce Memberships 插件限制了可以在编辑页面上显示的元框。
我在他们的姊妹插件中遇到了同样的问题, Teams for WooCommerce Memberships.
在这两个插件中,它们都提供了一个过滤器,用于将您的元框添加到白名单中。对于 WooCommerce 会员资格,它是:
wc_memberships_allowed_meta_box_ids
如果你想允许一个名为 的自定义元框,你可以这样做:my_meta_box
add_filter( 'wc_memberships_allowed_meta_box_ids', 'my_custom_wc_memberships_allowed_meta_box_ids' );
function my_custom_wc_memberships_allowed_meta_box_ids( $ids ) {
$ids[] = 'my_meta_box';
return $ids;
}
但在这里,我们希望添加一个由高级自定义字段创建的元框,而不是我们从头开始创建的元框。我们如何找到它的元框 ID?
如果您转到所需字段组的编辑字段组页面,我们可以找到它。
- 打开屏幕选项。
- 蜱。
slug
- 在 slug 面板中,获取组名称。例如,我的是.
group_649caa05c7671
- 在此值前面加上“acf-”,您就拥有了元框 ID!我的将是.
acf-group_649caa05c7671
因此,一个完整的过滤函数将是:
add_filter( 'wc_memberships_allowed_meta_box_ids', 'my_acf_wc_memberships_allowed_meta_box_ids' );
function my_acf_wc_memberships_allowed_meta_box_ids( $ids ) {
$ids[] = 'acf-group_649caa05c7671';
return $ids;
}
我测试了在会员计划中保存和检索字段,它很有效。
奖励内容!
通过计划详细信息选项卡添加字段
对于那些想要在没有 ACF 的情况下添加常规自定义字段的用户,您可以使用过滤器向“会员计划”设置面板添加额外的选项卡。Misha Rudrastyh 对此有一个很好的教程。wc_membership_plan_data_tabs
添加到 Teams 以获得 WooCommerce 会员资格
如上所述,我最初加入了这个问题的点,因为我在姊妹插件上看到了类似的内容。对于那些需要在团队编辑页面上添加元框的人来说,过滤器非常相似:
wc_memberships_for_teams_allowed_meta_box_ids
由于:
找到 ACF 元框的功劳归高级广告所有。谢谢大家!
上一个:SCCM 卸载规则与安装规则冲突
下一个:如何更正网站配置工具中的错误?
评论