WC_AJAX::add_attribute()public staticWC 1.0

Add an attribute row.

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

Возвращает

null. Ничего (null).

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

$result = WC_AJAX::add_attribute();

Код WC_AJAX::add_attribute() WC 8.7.0

public static function add_attribute() {
	ob_start();

	check_ajax_referer( 'add-attribute', 'security' );

	if ( ! current_user_can( 'edit_products' ) || ! isset( $_POST['taxonomy'], $_POST['i'] ) ) {
		wp_die( -1 );
	}

	$product_type = isset( $_POST['product_type'] ) ? sanitize_text_field( wp_unslash( $_POST['product_type'] ) ) : 'simple';

	$i             = absint( $_POST['i'] );
	$metabox_class = array();
	$attribute     = new WC_Product_Attribute();

	$attribute->set_id( wc_attribute_taxonomy_id_by_name( sanitize_text_field( wp_unslash( $_POST['taxonomy'] ) ) ) );
	$attribute->set_name( sanitize_text_field( wp_unslash( $_POST['taxonomy'] ) ) );
	/* phpcs:disable WooCommerce.Commenting.CommentHooks.MissingHookComment */
	$attribute->set_visible( apply_filters( 'woocommerce_attribute_default_visibility', 1 ) );
	$attribute->set_variation(
		apply_filters(
			'woocommerce_attribute_default_is_variation',
			'variable' === $product_type ? 1 : 0,
			$product_type
		)
	);
	/* phpcs: enable */

	if ( $attribute->is_taxonomy() ) {
		$metabox_class[] = 'taxonomy';
		$metabox_class[] = $attribute->get_name();
	}

	include __DIR__ . '/admin/meta-boxes/views/html-product-attribute.php';
	wp_die();
}