我已经成功地将WooCommerce更改为在store 页面上显示属性. 然而,我网站是多语言的,我如何使这个功能多语言?

add_action( 'woocommerce_after_shop_loop_item_title', 'display_size_attribute', 5 );
function display_size_attribute() {
    global $product;

    if ( $product->is_type('simple') ) {
        $taxonomy = 'klasse-graafmachine-ton';
        echo '<span class="attribute-s">Klasse graafmachine (t): ' . $product->get_attribute($taxonomy) . '</span>','<br>';
    }
}

推荐答案

您不应该使用custom product attributes(在产品上本地创建),而应该使用在产品属性部分全局设置的全局产品属性分类法.

enter image description here

然后为您的产品属性配置术语...

现在,您将在每个产品上配置属性(并为其 Select 术语):

enter image description here

现在,您可以在多语言插件中将此产品属性及其术语翻译为一个分类,如产品类别或产品标签.

然后,您可以使用以下修改后的代码在归档中显示该属性:

add_action( 'woocommerce_after_shop_loop_item_title', 'display_size_attribute', 5 );
function display_size_attribute() {
    global $product;

    $taxonomy = 'pa_klasse-graafmachine-ton';

    if ( $product->is_type('simple') && ( $term_name = $product->get_attribute($taxonomy) ) ) {
        printf( '<span class="attribute-s">%s: %s</span><br>', wc_attribute_label($taxonomy, $product), $term_name );
    }
}

应该能行得通.

Note:代码中使用的分类法将是(starts always with "pa_").

Php相关问答推荐

dockerized laravel服务器拒绝POST请求

PHP cUrl扩展与v8.2.12更新损坏

如何使用URL链接(mdl)切换选项卡

在保留唯一键值对的情况下高效合并嵌套数组

WooCommerce中仅在单一产品和产品档案页面中将小数设置为大写

如何使用ms graph php sdk v2列出具有已知路径的DriveItem的子项

添加并显示单价字段到WooCommerce产品变化

来自POST请求的(无效)json字符串中的奇怪字符(编码问题)

我的邮箱中的链接在我的URL中添加了一个

如何从Laravel中的Spatie\Dns\Records\A对象中提取IP地址

如何在UML类图中可视化变量引用数组

PHP -流加密启用服务器切断字节

如何在laravel中添加延迟?

为WooCommerce中存储一些数据的购物车项目添加复选框

如何在laravel中获得两个时间戳之间的小时和分钟差异

PHP:数组的等边

即使密码匹配,密码处理程序也会返回错误

使用 --exclude-dir 选项从 PHP 执行 grep 时出现问题

Google Drive - 仅使用 FileID 获取文件的 FileSize

将短代码添加到 woocommerce 产品页面