ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как добавить дополнительные настраиваемые поля в атрибуты WooCommerce

Хотите знать, как добавить цифровые продукты WooCommerce? Вот наш гид

При работе над проектом, бывает возникает необходимость добавить пользовательское изображение, которое будет связано с определенным атрибутом WooCommerce.

Этот удобный маленький фрагмент сделает именно это! Здесь использовали Advanced Custom Fields (ACF) и необходимо было интегрировать с ним.

<?php
// Добавляет пользовательский тип правила.
add_filter( 'acf/location/rule_types', function( $choices ){
$choices[ __("Other",'acf') ]['wc_prod_attr'] = 'WC Product Attribute';
return $choices;
} );
// Добавляет пользовательские значения правил.
add_filter( 'acf/location/rule_values/wc_prod_attr', function( $choices ){
foreach ( wc_get_attribute_taxonomies() as $attr ) {
$pa_name = wc_attribute_taxonomy_name( $attr->attribute_name );
$choices[ $pa_name ] = $attr->attribute_label;
}
return $choices;
} );
// Соответствие пользовательскому правилу.
add_filter( 'acf/location/rule_match/wc_prod_attr', function( $match, $rule, $options ){
if ( isset( $options['taxonomy'] ) ) {
if ( '==' === $rule['operator'] ) {
$match = $rule['value'] === $options['taxonomy'];
} elseif ( '!=' === $rule['operator'] ) {
$match = $rule['value'] !== $options['taxonomy'];
}
}
return $match;
}, 10, 3 );

Сначала вставьте приведенный выше фрагмент в ваш файл темы functions.php.

Затем добавьте новую группу полей, используя ACF. Вы увидите новую опцию, чтобы выбрать атрибут продукта WC. Присвойте его выбранному атрибуту WooCommerce и добавьте свои обычные поля как обычно.

Как добавить дополнительные настраиваемые поля в атрибуты WooCommerce

 

Вот и все! Теперь вы можете посетить Атрибуты продукта и увидеть настраиваемые поля, которые вы добавили в новую группу полей.

Как добавить дополнительные настраиваемые поля в атрибуты WooCommerce

 

Мы надеемся, что это поможет вам! Если вы получили пользу от этой статьи, поделитесь ею в социальных сетях! 🙂

Exit mobile version