为什么可以';我不能用php将数组项传递到函数中吗?
我的数组中的项目似乎没有传递到My'resolve'=>函数中。现在函数返回fail。如果我用数组项替换$meta,那么它就可以工作。我正在尝试获取GraphQL的元值,不想为每个字段创建一个函数为什么可以';我不能用php将数组项传递到函数中吗?,php,wordpress,Php,Wordpress,我的数组中的项目似乎没有传递到My'resolve'=>函数中。现在函数返回fail。如果我用数组项替换$meta,那么它就可以工作。我正在尝试获取GraphQL的元值,不想为每个字段创建一个函数 add_action( 'graphql_register_types', function() { $metas = array('phone', 'city', 'state', 'zip'); foreach($metas as $
add_action( 'graphql_register_types', function() {
$metas = array('phone', 'city', 'state', 'zip');
foreach($metas as $meta){
register_graphql_field( 'Location', $meta, [
'type' => 'String',
'description' => __( 'The post data', 'wp-graphql' ),
'resolve' => function($post, $meta) {
$GQL_data = get_post_meta( get_the_ID(), $meta, true);
return ! empty( $GQL_data ) ? $GQL_data : 'fail';
}
] );
}
});
预期的GraphQL输出:
“电话”:“123-123-1234”
“城市”:“洛杉矶”
“州”:“CA”
“zip”:“99922”
当前所有项的值均为:“fail”这是一个回调匿名函数,您不能仅更改其参数。您可以使用的是这里记录的“使用”
register_graphql_field( 'Location', $meta, [
'type' => 'String',
'description' => __( 'The post data', 'wp-graphql' ),
'resolve' => function($post) use ($meta) {
$GQL_data = get_post_meta( get_the_ID(), $meta, true);
return ! empty( $GQL_data ) ? $GQL_data : 'fail';
}
] );