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

PHP新手求助:WordPress内部If语句异常,仅输出"2022."

WordPress内部if语句失效问题解决

你的代码核心问题是误用了WordPress的时间函数:

  • the_time('Y')是输出型函数,它会直接把当前文章的年份打印到页面,而不是返回年份字符串供条件判断。所以执行代码时,它先输出了当前文章的年份(也就是你看到的"2022"),然后拿函数的返回值(默认是null)和"2021"比较,条件永远不成立,导致后续的echo "Loop"和$c++都不会执行。

修正后的代码:

<?php 
$c = 0; 
if ( have_posts() ) : 
    while ( have_posts() ) : the_post(); 
        if (get_the_time('Y') == "2021") : 
            echo "Loop"; 
            $c++; 
        endif; 
    endwhile; 
endif; 
echo "Count = $c"; 
?>

关键改动说明:

  • 用get_the_time('Y')替代the_time('Y'):这个函数是返回型函数,会返回当前文章的年份字符串,不会直接输出,能正确参与条件判断。
  • 当文章年份为2021时,会输出"Loop"并累加计数器,最后输出统计结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 15:45:55