替换默认"选择选项" Woocommerce中的文字变体属性下拉列表由不同的自定义

时间:2018-01-27 22:47:01

标签: php wordpress woocommerce custom-taxonomy variations

我刚开始使用Woocommerce并且有关于可变产品的下拉选择字段的问题。在woocommerce中,如果在此下拉列表中未选择任何内容,则选择选项"文本显示。

我需要每个下拉选择字段选项,以便在尚未选择任何内容时显示不同的文本。

我发现此代码取代了标准"选择选项"文本与我想要的,但它对所有下拉选择字段。

  function custom_woocommerce_product_add_to_cart_text($args){
 $args['show_option_none'] = __( 'Select Framed or Unframed Sizes', 'woocommerce' ); 
  return $args;
}

我注意到第一个下拉选择字段的ID为" type",第二个ID的ID为" size"。

我们可以更改上面的代码并提供以下内容:

  • 如果ID = type,则使用文字A,
  • 如果ID = size,则使用文字B?

我还可以强制第一个下拉列表始终显示所有选项吗?

让我们说我的第一个下拉列表有选项A,B,C和D:

  • 如果我选择A,第二个下拉列表会给我1,2,3作为选项。我选择2。
  • 如果现在我尝试在第一个字段中进行另一个选择,它只显示A和C,并且B和D离开,因为B和D在1和3中不可用。

听起来令人困惑,但我希望这是有道理的。

感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

在woocommerce中,属性ID(或分类)始于pa_作为 p roduct a 属性“,所以:

  • “类型”<select> html标记应为:id="pa_type"(但不是id="type"),
  • “尺寸”<select> html代码应为:id="pa_size"(但不是id="size")。

现在,您可以通过以下方式按照分类标准来定位每个属性:

add_filter( 'woocommerce_dropdown_variation_attribute_options_args', 'dropdown_variation_attribute_options', 10, 1 );
function dropdown_variation_attribute_options( $args ){

    // For attribute "Type"
    if( 'pa_type' == $args['attribute'] )
        $args['show_option_none'] = __( 'Select Framed or Unframed Types', 'woocommerce' );

    // For attribute "Sizes"
    if( 'pa_size' == $args['attribute'] )
        $args['show_option_none'] = __( 'Select Framed or Unframed Sizes', 'woocommerce' );

    return $args;
}

代码进入活动子主题(或活动主题)的function.php文件。

经过测试和工作。

  

你问了很多不同的问题。我在这里回答一个问题。这是StackOverFlow的方式。

在WooCommerce中,一切皆有可能,具体取决于您的知识,技能和花费时间。

  

你的第二个问题是先进的,复杂的,有点过于宽泛。