/**
  * Check permissions.
  *
  * @param WP_REST_Request $request Full details about the request.
  * @param string $context Request context.
  * @return bool|WP_Error
  */
 protected function check_permissions($request, $context = 'read')
 {
     // Get taxonomy.
     $taxonomy = $this->get_taxonomy($request);
     if (!$taxonomy) {
         return new WP_Error('woocommerce_rest_taxonomy_invalid', __('Taxonomy does not exist.', 'woocommerce'), array('status' => 404));
     }
     // Check permissions for a single term.
     if ($id = intval($request['id'])) {
         $term = get_term($id, $taxonomy);
         if (!$term || $term->taxonomy !== $taxonomy) {
             return new WP_Error('woocommerce_rest_term_invalid', __('Resource does not exist.', 'woocommerce'), array('status' => 404));
         }
         return wc_rest_check_product_term_permissions($taxonomy, $context, $term->term_id);
     }
     return wc_rest_check_product_term_permissions($taxonomy, $context);
 }
示例#2
0
 /**
  * Test wc_rest_check_product_term_permissions().
  *
  * @since 2.6.0
  */
 public function test_wc_rest_check_product_term_permissions()
 {
     $this->isFalse(wc_rest_check_product_term_permissions('product_cat'));
 }