我正在尝试为WP REST API创建一个自定义endpoint,该endpoint应包含某些ACF字段及其创建的选项,以防该字段是选择字段。
这是我在functions.php
中尝试的代码:
function test_get_acf() {
$field = get_field_object('credits');
$credits = array();
if( $field['choices'] ) {
foreach( $field['choices'] as $value => $label ) {
array_push($credits, $value);
}
}
$items = array(
'credits' => $credits
);
return $items;
}
这是创建endpoint的函数:
function test_register_api_endpoints() {
register_rest_route( 'test/v2', '/acf', array(
'methods' => 'GET',
'callback' => 'test_get_acf',
) );
}
add_action( 'rest_api_init', 'test_register_api_endpoints' );
但是,这样做我会得到以下JSON输出:
[
"credits": [ ]
]
所以显然是不行的。我做错了什么?
问题是ACF找不到你要的字段,根据get_field_object()留档,它还需要一个默认为当前post id的post_id
参数,为了只获取字段对象(在post上下文之外),你应该像这样使用field键:
$field = get_field_object('field_5e380cf7b4bf0');
在这种情况下,field_5e380cf7b4bf0
是您领域的关键。如果您必须使用此方法,并且还需要动态检索密钥,则此处有一个说明,说明如何按其名称获取字段密钥。
或者将示例帖子ID传递给它:
global $wp_query;
$field = get_field_object('credits', $wp_query->posts[0]->ID); // Or just pass a number like 1 if you are sure that a post with that id exists
注意:如果您刚刚创建了一个字段,并且还没有任何帖子使用它,当您调用get_field_object()
时,它也可能导致false
我在Wordpress中有一个名为“svg”的ACF字段菜单 为了创建我的菜单,我这样做: 我像这样显示我的菜单: 在我的Foreach中,我试图从我的菜单中调用我的ACF字段,如下所示: 但它不起作用(空)。我迷路了。如何获取我的 ACF 字段? 真是太感谢你了
我有一个前端ACF表单-ACF_表单()。使用post对象字段。我想通过自定义字段限制查询结果。下面的代码可以正常工作,除了当我尝试在搜索栏中键入时,会出现以下错误:我得到的错误是ajax响应中的PHP错误; 0:“PhpConsole\Handler”- 1:"strpos()" 2:"acf_order_by_search()" 3:“acf_field_post_object- 4:“acf
我正在使用ACF插件来管理一个WooCommerce网站内的各种自定义元数据。我试图设置的功能之一是向WooCommerce结帐页面添加自定义字段。我遵循WC文档页面上概述的一般概念,它允许您通过woocommerce_after_order_notes钩子将自定义表单追加到WC结帐表单。从那里,我使用acf_form()函数输入acf表单,表单设置为false,以允许它不包含acf表单元素(即a
我为woocommerce产品“coffee_type”创建了自定义分类法。我为此分类法创建了一个ACF图像字段“coffee\u type\u image”。 我想在产品页面上显示带有链接的图像,而不是分类法的名称。我在这里读了大多数关于在分类法上显示acf图像的文章,但每一篇都是关于使用归档分类法页面而不是产品页面。我正在编辑single-product.php(确切地content-sing
我想在WooCommerce结帐页面中添加自定义字段,但用于选定的产品。 例如,如果客户的购物车中只有产品A,则此自定义字段应显示在WooCommerce签出页面中 我在函数中使用以下代码。php添加自定义字段:
我有一个自定义后类型设置称为艺术家。每个单个艺术家是一个页面(艺术家个人资料,如果你愿意),有一个通过高级自定义字段(ACF)的关系字段类型与该艺术家相关联的产品列表。我需要产品在艺术家页面上显示在他们的类别中。因此,在Elementor中,我需要指定一个查询筛选器ID,以简单地将产品划分为类别。 到目前为止我所尝试的 我试图通过自定义查询仅显示列表中特定类别的产品,因为我需要生成查询ID。 我一