【问题标题】:Adding a custom text next to a specific product attribute label in WooCommerce在 WooCommerce 中的特定产品属性标签旁边添加自定义文本
【发布时间】:2018-07-17 22:39:39
【问题描述】:

尝试在标题/标签旁边为变体添加文本(最好在 div 中)(即 SIZE)不编辑 woocommerce 页面模板

伪代码:

function my_text_after_variation (){
  if attribute pa_size exists {
    echo label for pa_size;
    echo <div> MY TEXT </div>;
}else{
   return;
}};

我们非常欢迎任何帮助。

【问题讨论】:

  • 这个问题只是不清楚......产品变体标题位于购物车页面和结帐页面上的购物车项目中。现在属性标题/标签位于单个产品页面的可变产品下拉列表中。因此,请您提供屏幕截图或实时链接以及更好的解释。谢谢
  • @LoicTheAztec - merci mon amis :) 我添加了屏幕截图来解释我所追求的。我只在单个产品页面上需要这个,在其他任何地方都不需要。谢谢洛伊克
  • 好的,我已经回答了,而且很安静,很简单。由于显示不是使用&lt;div&gt; 标签内联的,附加的自定义文本进入下一行。

标签: php wordpress woocommerce label variations


【解决方案1】:

要在特定属性标签名称之后显示自定义文本,您将使用这个挂在 woocommerce_attribute_label 专用过滤器挂钩中的自定义函数,这样:

add_filter( 'woocommerce_attribute_label', 'custom_attribute_label', 10, 3 );
function custom_attribute_label( $label, $name, $product ) {
    $taxonomy = 'pa_'.$name;

    if( $taxonomy == 'pa_size' )
        $label .= '<div class="custom-label">' . __('MY TEXT', 'woocommerce') . '</div>';

    return $label;
}

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

经过测试并且有效。

【讨论】:

  • 这个解决方案的问题是它//也//改变了不太好的下拉菜单:/
【解决方案2】:

如果您无法编辑 woocommerce 页面模板,请尝试使用 jQuery。 例如:

$('.pa_size label').after('<span class="some-text">some text</text>');

如果你需要使用变量文本,你可以使用 'wp_localize_script' 使用这个变量创建对象并从这个对象中获取它:

函数.php

// Localize the script with your data
$data_array = array(
  'some_text' => __( 'Some text to insert', 'my-domain' ),
);
wp_localize_script( 'some_handle', 'object_name', $data_array );

jQuery:

$('.pa_size label').after(object_name.some_text);

【讨论】:

  • 谢谢亚历山大 |我需要在这个新 div 中回显/输出一个 php var,并且无法使用根据您的答案改编的以下代码使其工作:` function add_div_after_pa_size () { global $product_id ?>
    ');
猜你喜欢
  • 1970-01-01
  • 2018-12-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多