在this thread的帮助下,我想到的是我在网站上使用PolyLang,因此当用户更改页面上的语言时,希望翻译"product"和"products"的关键字 .
我试图在 functions.php 中的AJAX调用之前在条件中使用 pll_current_language() 钩子,然后根据当前语言定义变量 $item 和 $items ,并将这些关键字插入到AJAX返回的字符串中 . 我've used a similar conditional in template files, so it'在那里工作 .
但是,使用此功能无法正常工作 . 这就是我设置它的方式:
functions.php
function woocommerce_header_add_to_cart_fragment( $fragments ) {
global $woocommerce;
ob_start();
// Cart Translations
$lang = pll_current_language();
$item;
$items;
if ($lang == 'sv'){
$item = "produkt";
$items = "produkter";
} else if ($lang == 'en') {
$item = "product";
$items = "products";
}
?>
$fragments['a.cart-customlocation'] = ob_get_clean();
return $fragments;
}
add_filter( 'woocommerce_add_to_cart_fragments', 'woocommerce_header_add_to_cart_fragment', 30, 1 );
我得到的问题是 pll_current_language() 钩子总是返回"sv",即使我访问英文页面 . 所以好像我不能在functions.php中使用那个钩子,或者我错过了什么?您对如何使这项工作有任何建议吗?