Polylang的pll_e()导致文本位置错位,我的语法存在什么问题?
问题根因
你调用的pll_e()函数本身的作用是直接输出打印翻译结果,不会把翻译后的字符串作为返回值返回给你做拼接。
所以在你执行字符串拼接的代码时,pll_e('on backorder')会先把翻译好的文本直接输出到页面,剩下的拼接逻辑才会把其他内容追加到$item_name变量里,最终就出现了文本跑到商品名称之前的错位情况。
修复方案
把pll_e()替换为pll__()函数即可,pll__()会把翻译后的字符串作为返回值返回,刚好适配字符串拼接场景,修改后的代码如下:
$item_name .='<br /><div class="backorder">' .$backorder_qty. pll__('on backorder').'</div>';
内容的提问来源于stack exchange,提问作者LouMJ
相关产品推荐
相关产品推荐

