如何用PHP为按钮添加多语言条件跳转链接?
多语言页面表单按钮动态跳转实现
问题描述
当前页面的表单按钮无论在英文还是西班牙语版本下,均固定跳转至英文表单路径 /apply/,需要实现英文页面跳转至 /apply/,西班牙语页面跳转至 /aplicar/ 的动态逻辑。
实现方案
利用PHP条件判断结合WordPress语言检测能力,动态生成按钮的跳转路径:
核心修改逻辑
通过WordPress内置的get_locale()函数获取当前页面的语言环境(英文对应en_US,西班牙语通常对应es_ES),根据语言值返回对应表单路径。
修改后的按钮代码
<a href="<?php echo get_locale() === 'en_US' ? '/apply/' : '/aplicar/'; ?>" class="btn btn-light mt-5 pr-5 pl-5"><?php _e("Let's Grow", "mywebsite"); ?></a>
完整页面代码片段
<div class="banner bg-purple"> <div class="container"> <div class="row d-flex align-items-center m-h-400 bg-img-building-blocks"> <div class="col-6"></div> <div class="col-6"> <h3><?php _e("we believe your potential", "mywebsite"); ?><br/><?php _e("is good business", "mywebsite"); ?>.</h3> <a href="<?php echo get_locale() === 'en_US' ? '/apply/' : '/aplicar/'; ?>" class="btn btn-light mt-5 pr-5 pl-5"><?php _e("Let's Grow", "mywebsite"); ?></a> </div> </div> </div> </div>
插件适配补充
如果网站使用Polylang等第三方多语言插件,可替换为插件专属的语言检测函数,例如Polylang的pll_current_language():
<a href="<?php echo pll_current_language() === 'en' ? '/apply/' : '/aplicar/'; ?>" class="btn btn-light mt-5 pr-5 pl-5"><?php _e("Let's Grow", "mywebsite"); ?></a>
内容的提问来源于stack exchange,提问作者Rafa971
相关产品推荐
相关产品推荐

