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

PHP else语句不显示:WP文章自定义字段profession判断异常

问题排查与解决方案

兄弟,我一眼就瞅出问题所在啦!你的代码里藏了个超常见的小bug,直接导致else语句永远无法执行,咱们一步步来修复:

核心错误:赋值符号代替了比较符号

你写的条件判断是 if ( $profession = 'RN' ) —— 这里用的是赋值运算符=,不是比较运算符!它会把字符串'RN'直接赋值给$profession变量,然后这个表达式的结果永远为true,自然就永远走不到else分支了。

完整修复步骤

1. 先正确获取自定义字段的值

首先要确保你已经从WordPress中取出了profession字段的值,用get_post_meta()函数是标准做法:

// 获取当前文章的profession自定义字段,第三个参数true确保返回单个字符串
$profession = get_post_meta(get_the_ID(), 'profession', true);

2. 修正条件判断的运算符

把赋值符号改成严格比较运算符===(推荐,因为它会同时检查值和数据类型,避免意外匹配),或者松散比较==:

<?php
// 先获取字段值
$profession = get_post_meta(get_the_ID(), 'profession', true);

// 用严格比较判断是否为RN
if ( $profession === 'RN' ) { 
    echo '<li>Minimum 2 years experience</li><li>Current license in this state</li><li>Graduated from accredited Nursing school</li><li>BCLS required</li><li>BSN preferred</li>';
} else {
    // 这里放置非RN时要显示的内容
    echo '<li>Your non-RN requirements go here</li>';
}
?>

可选优化:处理大小写问题

如果担心用户输入的字段值有大小写差异(比如rn、Rn),可以先把字段值转成统一大小写再判断:

$profession = strtoupper(get_post_meta(get_the_ID(), 'profession', true));

这样不管输入的是哪种大小写形式,都能正确匹配到RN的条件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:28:35