如何修改条件判断实现州名短码的动态文本按需显示
解决方案
1. 修改短码函数逻辑
调整原函数的返回逻辑:当获取到有效州名时,返回包含from 前缀的完整字符串;无有效州名时返回空字符串,同时修正原函数的语法错误。
修改后的完整代码:
add_shortcode('US_STATE_NAME_WITH_TEXT', 'mp_usstate_name_with_text'); function mp_usstate_name_with_text() { $usstate_name = ""; $chosen_state = []; global $STATES_ARRAY; $state = array_filter($STATES_ARRAY, function($state) { return $state["slugCode"] === get_query_var("usstate"); }); if(count($state) > 0){ $chosen_state = array_pop($state); if(!empty($chosen_state)){ $usstate_name = $chosen_state["name"]; } } // 有州名时返回带from的前缀,无则返回空 return !empty($usstate_name) ? " from {$usstate_name}" : ""; }
2. 调整页面文本结构
将页面中的原文本:
<strong>Why Providers from [state name shortcodes] choose our company?</strong>
替换为:
<strong>Why Providers [US_STATE_NAME_WITH_TEXT] choose our company?</strong>
效果说明
- 带州参数访问时:显示
Why Providers from [对应州名] choose our company? - 访问原始无参数页面时:显示
Why Providers choose our company? - 该修改仅作用于州名显示短码,不会影响你其他州代码、州计划的函数。
内容的提问来源于stack exchange,提问作者Karthy
相关产品推荐
相关产品推荐

