/** * 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); }
/** * 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')); }