2016-11-11 3 views

ответ

1

Функциональность, которая позволяет использовать пользовательскую базу в вашем 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; 
} 

Надеется, что это помогает!

+0

Есть ли способ редактировать файл woocommerce для изменения pa_ для атрибутов? Я хочу включить его в мою детскую трость. –

+0

Жаль, Джордж! Я понял, что с версии 2.3 WooCommerce вы не можете просто изменить базу в таксономических предпочтениях. Я добавил код, который вам нужно добавить в ваш файл functions.php в вашей дочерней теме. Надеюсь, что это работает! –

+0

Этот код удален pa_? –

Смежные вопросы