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

求助:如何调用Reading Time WP插件属性修复单复数显示问题

解决Reading Time WP插件多语言下阅读时长单复数问题

嘿,这个问题其实很好解决!咱们绕开插件自带的单复数逻辑,直接拿它计算好的时长数值自己处理就行,具体步骤如下:

核心思路

Reading Time WP插件本身提供了直接获取阅读时长数值的函数,咱们不用再通过短码输出带文本的内容,而是先拿到纯数字的时长,再结合Polylang的翻译函数(pll_e)自己控制单复数文本。

修改代码

把你当前content-single.php里的那段代码替换成下面的版本:

<div id="rtime">
    <?php 
    pll_e( 'Reading Time:' ); 
    // 获取插件计算出的阅读时长(纯整数)
    $reading_minutes = rt_get_reading_time();
    // 输出时长数字
    echo ' ' . $reading_minutes . ' ';
    // 根据数值判断单复数,输出对应翻译
    if ($reading_minutes == 1) {
        pll_e( 'minute' );
    } else {
        pll_e( 'minutes' );
    }
    ?>
</div>

额外优化(可选)

为了避免插件禁用时出现PHP报错,可以加上函数存在判断,增加代码鲁棒性:

<div id="rtime">
    <?php 
    pll_e( 'Reading Time:' ); 
    // 先检查插件函数是否存在
    if (function_exists('rt_get_reading_time')) {
        $reading_minutes = rt_get_reading_time();
        echo ' ' . $reading_minutes . ' ';
        if ($reading_minutes == 1) {
            pll_e( 'minute' );
        } else {
            pll_e( 'minutes' );
        }
    } else {
        // 插件未启用时的备用文本
        pll_e( 'a few minutes' );
    }
    ?>
</div>

说明

  • rt_get_reading_time()是插件内置的函数,会直接返回计算好的阅读分钟数(整数),完全满足咱们的需求。
  • 这样修改后,不管是哪种语言,只要你在Polylang里分别配置好minute(单数)和minutes(复数)的翻译,就能自动适配单复数场景了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:20:14