求助:如何调用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
相关产品推荐
相关产品推荐

