2016-11-11 80 views

回答

1

,使您可以在您的网址和产品属性使用自定义的基础,而不是PA_的功能将不再与WooCommerce标准。

您必须首先确保您已将您的分类标准永久链接设置为您希望产品网址的基础。如果您进入WordPress仪表板>设置>永久性菜单,则可以将类别,术语和属性更改为对您的产品最有意义的内容。通过改变这些偏好,你可以在你的产品上使用自定义的基础(不要在分类中重复基础,这会产生冲突)。

然后,您将需要将以下代码添加到主题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

对不起,乔治!我意识到,自从WooCommerce的2.3版本以来,您不能只在分类偏好中编辑基础。我在你的子主题中添加了你需要添加到你的functions.php文件中的代码。希望工程! –

+0

此代码正在删除pa_? –

相关问题