Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WordPress rest api自定义端点未获取所有元数据,仅获取某些字段元数据_Wordpress_Metadata_Endpoint_Wordpress Rest Api_Woocommerce Rest Api - Fatal编程技术网

WordPress rest api自定义端点未获取所有元数据,仅获取某些字段元数据

WordPress rest api自定义端点未获取所有元数据,仅获取某些字段元数据,wordpress,metadata,endpoint,wordpress-rest-api,woocommerce-rest-api,Wordpress,Metadata,Endpoint,Wordpress Rest Api,Woocommerce Rest Api,在WordPress网站中,我添加了一个自定义的post类型“inventory”。要将数据发布到该清单,需要创建一个EndRESTAPI端点。创建的终结点未从库存过帐类型获取所有元数据。在该库存过账类型中,我有一个输入字段来输入日期,但在使用端点获取数据时,我没有获取该日期字段数据。我尝试了register_rest_field()使用API端点获取元数据,但在postman中,我只获取了一些字段 我的HTML代码如下所示 <div class="from_date

在WordPress网站中,我添加了一个自定义的post类型“inventory”。要将数据发布到该清单,需要创建一个EndRESTAPI端点。创建的终结点未从库存过帐类型获取所有元数据。在该库存过账类型中,我有一个输入字段来输入日期,但在使用端点获取数据时,我没有获取该日期字段数据。我尝试了register_rest_field()使用API端点获取元数据,但在postman中,我只获取了一些字段

我的HTML代码如下所示

      <div class="from_date inventory-form-to-input">
        <input type="text" style="border: 1px solid #ddd;" class="pac-date-picker hasDatepicker" 
         name="nets_availability_pickup_datetime[]" value="0000-00-00 00:00:00" autocomplete="off" 
           id="dp1605714040849">
      </div>
      <div class="to_date inventory-form-to-input">
        <input type="text" style="border: 1px solid #ddd;" class="pac-date-picker hasDatepicker" 
         name="nets_availability_dropoff_datetime[]" value="0000-00-00 00:00:00" autocomplete="off" 
           id="dp1605714040850">
      </div>
尝试使用以下代码创建自定义终结点并获取元数据:

 function my_plugin_rest_route_for_post( $route, $post ) {

    if ( $post->post_type === 'inventory' ) {
    $route = '/wp/v2/inventory/' . $post->ID;
   }
   return $route;
 }
 add_action( 'rest_api_init', function () {
  register_rest_field( 'inventory', 'quantity', array(
    'get_callback' => function( $post_arr ) {
        return get_post_meta( $post_arr['id'], 'quantity', true );
    },
) );
  register_rest_field( 'inventory', 'pricing_type', array(
    'get_callback' => function( $post_arr ) {
        return get_post_meta( $post_arr['id'], 'pricing_type', true );
    },
) );
register_rest_field( 'inventory', 'general_price', array(
    'get_callback' => function( $post_arr ) {
        return get_post_meta( $post_arr['id'], 'general_price', true );
    },
) );
 register_rest_field( 'inventory', 'nets_availability_block_by', array(
    'get_callback' => function( $post_arr ) {
      return get_post_meta( $post_arr['id'], 'nets_availability_block_by',false);

    },
) );
  register_rest_field( 'inventory', 'nets_availability_pickup_datetime', array(
    'get_callback' => function( $post_arr ) {
        return get_post_meta( $post_arr['id'], 'nets_availability_pickup_datetime', true );
    },
) );

 /*used to get all metadata*/
   register_rest_field( 'inventory', 'meta', array(
    'get_callback' => function( $post_arr ) {
        return get_post_meta( $post_arr['id'], '', true );
    },
) );
 
})

请任何人建议我如何获取这些日期字段“网络可用性、拾取和日期时间”和“网络可用性、衰减和日期时间”。
提前感谢。

您可以从我的一个旧代码中获得灵感。权限回调用于向API添加安全层,但通常是可选的。参数
args
也是可选的

register_rest_route('v2/boutique', '/order/status', array(
        'methods' => 'POST',
        'permission_callback' => array($this, 'check_access'),
        'callback' => array($this, "api_check_order"),
        'args' => [
            'transaction_id', 'order_id'
        ],

    ));




public function check_access(WP_REST_Request $request)
{
    // Check credential 
   // if(in_array($_SERVER['REMOTE_ADDR'], self::$available_ip)){
    $creds  = $request->get_header('token');

    if (!empty($creds)) {
        if (self::verify_token(self::$creds_pass, $creds)) {
            return true;
        } else {
            return new WP_Error(
                'rest_forbidden',
                __('Error'),
                array('status' => 404)
            );
        }
    } else {
        return new WP_Error(
            'rest_forbidden',
            __('Error'),
            array('status' => 404)
        );
    }

}

我想知道您是否已经能够使用“网络可用性”和“网络可用性”和“网络可用性”检索日期时间来检索日期。不,我无法检索网络可用性、检索日期时间和网络可用性、接收日期时间。实际上,197794对于此id,我有两个日期,但没有。请显示您的代码您在meta中保存网络\可用性\拾取\日期时间和网络\可用性\衰减\日期时间的位置。您能帮助我为自定义表WordPress创建端点吗?如果不显示代码,我将帮不上忙,否则我可以向您推荐这些LNK
register_rest_route('v2/boutique', '/order/status', array(
        'methods' => 'POST',
        'permission_callback' => array($this, 'check_access'),
        'callback' => array($this, "api_check_order"),
        'args' => [
            'transaction_id', 'order_id'
        ],

    ));




public function check_access(WP_REST_Request $request)
{
    // Check credential 
   // if(in_array($_SERVER['REMOTE_ADDR'], self::$available_ip)){
    $creds  = $request->get_header('token');

    if (!empty($creds)) {
        if (self::verify_token(self::$creds_pass, $creds)) {
            return true;
        } else {
            return new WP_Error(
                'rest_forbidden',
                __('Error'),
                array('status' => 404)
            );
        }
    } else {
        return new WP_Error(
            'rest_forbidden',
            __('Error'),
            array('status' => 404)
        );
    }

}