You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Polylang语言切换器通过短码调用出现重复显示问题求助

解决Polylang语言切换器短码重复显示问题

你的猜测完全正确:pll_the_languages()函数默认会直接输出语言切换器内容,所以当你执行$message = pll_the_languages( array( 'hide_current' => 1 ) )时,已经在页面顶部输出了一次切换器;之后return语句又将返回值(函数默认返回的内容)交给短码输出,导致重复显示。

要让切换器仅在短码插入位置显示,只需给pll_the_languages()添加echo => false参数,让它返回字符串而非直接输出:

<?php
function switcher() {
    $message = pll_the_languages( array( 
        'hide_current' => 1,
        'echo' => false // 新增参数,阻止直接输出
    ) );
    return $message;
}
add_shortcode( 'switcher_shortcode', 'switcher' );
?>

当echo设为false时,pll_the_languages()不会直接输出内容,而是将切换器的HTML字符串返回给变量$message,再通过短码的return语句在指定位置输出,这样就不会出现重复问题了。

内容的提问来源于stack exchange,提问作者Ragna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 04:34:53