Функциональность, которая позволяет использовать пользовательскую базу в вашем URL вместо PA_ в атрибуте продукта больше не являются стандартом с WooCommerce.
Вам необходимо сначала убедиться, что вы установили постоянную связь таксономии на основания, которые вы хотели бы использовать в URL-адресах продукта. Если вы заходите в меню WordPress Dashboard> Settings> Permalink, вы можете изменить категории, термины и атрибуты на то, что имеет наибольший смысл для вашего продукта. Изменяя эти настройки, вы можете использовать пользовательскую базу на своих продуктах (не забудьте повторить базы в таксономии, это создаст конфликт).
Затем необходимо добавить следующий код в файл functions.php вашей темы:
// Change attribute rewrite rules
add_action('woocommerce_register_taxonomy', 'razorfrog_woo_register_taxonomy');
function razorfrog_woo_register_taxonomy() {
global $razorfrog_woo_attribute_labels;
$razorfrog_woo_attributes_labels = array();
if ($attribute_taxonomies = wc_get_attribute_taxonomies()) {
foreach ($attribute_taxonomies as $tax) {
if ($name = wc_attribute_taxonomy_name($tax->attribute_name)) {
$razorfrog_woo_attribute_labels[ $tax->attribute_label ] = $tax->attribute_name;
add_filter('woocommerce_taxonomy_args_'.$name, 'razorfrog_woo_taxonomy_args');
}
}
}
}
function razorfrog_woo_taxonomy_args($taxonomy_data) {
global $razorfrog_woo_attribute_labels;
if (isset($taxonomy_data['rewrite']) && is_array($taxonomy_data['rewrite']) && empty($taxonomy_data['rewrite']['slug'])) {
$taxonomy_data['rewrite']['slug'] = $razorfrog_woo_attribute_labels[ $taxonomy_data['labels']['name'] ];
}
return $taxonomy_data;
}
Надеется, что это помогает!
Есть ли способ редактировать файл woocommerce для изменения pa_ для атрибутов? Я хочу включить его в мою детскую трость. –
Жаль, Джордж! Я понял, что с версии 2.3 WooCommerce вы не можете просто изменить базу в таксономических предпочтениях. Я добавил код, который вам нужно добавить в ваш файл functions.php в вашей дочерней теме. Надеюсь, что это работает! –
Этот код удален pa_? –