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

如何在responsivevoice短码中嵌套页面标题短码读取文章标题?

解决短码嵌套不生效的问题

嘿,我懂你现在的麻烦——想把获取页面标题的短码嵌套进responsivevoice短码里,让它自动朗读当前文章的标题,但目前这么做完全没效果,对吧?

问题出在WordPress默认不支持短码嵌套解析:当你把一个短码放在另一个短码的内容区域时,系统只会把内部的短码当成普通文本输出,不会去执行它的功能。所以[responsivevoice][page_title][/responsivevoice]这种写法,只会让插件朗读“[page_title]”这串字符,而不是实际的页面标题。

下面给你两种可行的解决方案,按需选择:

方案1:修改responsivevoice插件的短码逻辑(支持嵌套)

如果你愿意调整插件的代码(注意:插件更新后会覆盖修改,记得备份或者用子插件),可以找到插件里处理短码的函数,给它加上解析内部短码的能力:

  1. 打开responsivevoice插件的主文件,找到类似responsivevoice_shortcode的函数(通常是注册短码的地方)
  2. 在函数里处理$content的时候,调用do_shortcode()来解析嵌套的短码,示例代码如下:
function responsivevoice_shortcode($atts, $content = null) {
    // 先解析内容里的嵌套短码
    if (!empty($content)) {
        $content = do_shortcode($content);
    }
    // 保留插件原有的逻辑,比如生成朗读脚本
    $atts = shortcode_atts(array(
        'voice' => 'UK English Male',
        // 其他默认参数
    ), $atts);
    
    return '<script>responsiveVoice.speak("' . esc_html($content) . '", "' . esc_attr($atts['voice']) . '");</script>';
}
add_shortcode('responsivevoice', 'responsivevoice_shortcode');

修改后,再用[responsivevoice][page_title][/responsivevoice]就能正常读取页面标题了。

方案2:自定义整合短码(更稳妥,避免插件更新覆盖)

如果不想改动原插件,直接自己写一个整合了“获取标题+朗读”功能的自定义短码更省心,步骤如下:

  1. 打开当前主题的functions.php文件(或者用代码片段插件添加)
  2. 加入以下代码:
function speak_current_page_title_shortcode($atts) {
    // 获取当前文章/页面的标题
    $page_title = get_the_title();
    // 可自定义朗读语音,默认用UK English Male
    $atts = shortcode_atts(array(
        'voice' => 'UK English Male'
    ), $atts);
    
    // 生成responsivevoice的调用脚本,注意转义避免JS错误
    return '<script>responsiveVoice.speak("' . esc_html($page_title) . '", "' . esc_attr($atts['voice']) . '");</script>';
}
add_shortcode('speak_page_title', 'speak_current_page_title_shortcode');
  1. 保存后,直接在页面里使用[speak_page_title](或者带参数[speak_page_title voice="US English Female"])就能直接朗读当前页面标题了,完全不需要嵌套。

额外提醒

不管用哪种方案,都要注意页面标题里的特殊字符(比如引号),上面的代码里用了esc_html()和esc_attr()来转义,能避免出现JS语法错误,一定要保留这部分哦。

内容的提问来源于stack exchange,提问作者Fotogênicas Brasil

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 09:53:22