WC_REST_Product_Attributes_V1_Controller::validate_attribute_slug()protectedWC 1.0

Устарела с версии 3.2.0. Больше не поддерживается и может быть удалена. Рекомендуется заменить эту функцию на аналог.

Validate attribute slug.

Метод класса: WC_REST_Product_Attributes_V1_Controller{}

Хуков нет.

Возвращает

true|false|WP_Error.

Использование

// protected - в коде основоного (родительского) или дочернего класса
$result = $this->validate_attribute_slug( $slug, $new_data );
$slug(строка) (обязательный)
The slug to validate.
$new_data(true|false)
If we are creating new data.
По умолчанию: true

Список изменений

Устарела с 3.2.0

Код WC_REST_Product_Attributes_V1_Controller::validate_attribute_slug() WC 8.7.0

protected function validate_attribute_slug( $slug, $new_data = true ) {
	if ( strlen( $slug ) > 28 ) {
		/* translators: %s: slug being validated */
		return new WP_Error( 'woocommerce_rest_invalid_product_attribute_slug_too_long', sprintf( __( 'Slug "%s" is too long (28 characters max). Shorten it, please.', 'woocommerce' ), $slug ), array( 'status' => 400 ) );
	} elseif ( wc_check_if_attribute_name_is_reserved( $slug ) ) {
		/* translators: %s: slug being validated */
		return new WP_Error( 'woocommerce_rest_invalid_product_attribute_slug_reserved_name', sprintf( __( 'Slug "%s" is not allowed because it is a reserved term. Change it, please.', 'woocommerce' ), $slug ), array( 'status' => 400 ) );
	} elseif ( $new_data && taxonomy_exists( wc_attribute_taxonomy_name( $slug ) ) ) {
		/* translators: %s: slug being validated */
		return new WP_Error( 'woocommerce_rest_invalid_product_attribute_slug_already_exists', sprintf( __( 'Slug "%s" is already in use. Change it, please.', 'woocommerce' ), $slug ), array( 'status' => 400 ) );
	}

	return true;
}