Мне нужно добавить специальные метаданные к товару в корзине. Я использую перечисленные ниже функции. Как я могу перевести эти настраиваемые метаданные на другие языки с помощью WPML? Он не добавляет в WMPL строки с доменом mytheme
.
/**
* Add custom cart item data
*/
function mytheme_add_cart_item_data($cart_item_data, $product_id, $variation_id)
{
if ($questions = get_field('product_questions', $product_id)) {
foreach ($questions as $question) {
$title = $question['title'];
$name = str_replace(' ', '_', strtolower($question['title']));
$name = htmlspecialchars($name, ENT_COMPAT,"UTF-8");
if (isset($_POST[$name])) {
$cart_item_data[$name] = sanitize_text_field($_POST[$name]);
};
}
}
return $cart_item_data;
}
add_filter('woocommerce_add_cart_item_data', 'mytheme_add_cart_item_data', 10, 3);
/**
* Display custom item data in the cart
*/
function mytheme_get_item_data($item_data, $cart_item_data)
{
foreach ($cart_item_data as $k => $v) {
$name = ucfirst(str_replace('_', ' ', strtolower($k)));
if (isset($k)) {
if ($k === 'key') {
break;
}
$item_data[] = array(
'key' => __($name, 'mytheme'),
'value' => wc_clean($v)
);
}
}
return $item_data;
}
add_filter('woocommerce_get_item_data', 'mytheme_get_item_data', 10, 2);
/**
* Add custom meta to order
*/
function mytheme_checkout_create_order_line_item($item, $cart_item_key, $values, $order)
{
foreach ($values as $k => $v) {
$name = ucfirst(str_replace('_', ' ', strtolower($k)));
if (isset($k)) {
if ($k === 'key') {
break;
}
$item->add_meta_data(
__($name, 'mytheme'), $v, true
);
}
}
}
add_action('woocommerce_checkout_create_order_line_item', 'mytheme_checkout_create_order_line_item', 10, 4);