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

如何在WordPress页面Body特定位置调用AdSense脚本?

解决AdSense脚本在特定位置调用的问题

一、先修复函数语法错误

你当前的函数存在PHP语法问题——在PHP代码块里直接写HTML标签会导致解析失败,必须用正确的方式输出脚本:

写法1:用echo输出脚本

function adsense_script() {
    $path = $_SERVER['REQUEST_URI'];
    $find = 'sdm';
    if (strpos($path, $find) !== false) {
        echo '<script>
        // 这里粘贴完整的AdSense脚本内容
        </script>';
    }
}

写法2:闭合PHP标签后直接写HTML

function adsense_script() {
    $path = $_SERVER['REQUEST_URI'];
    $find = 'sdm';
    if (strpos($path, $find) !== false) { ?>
        <script>
        // 这里粘贴完整的AdSense脚本内容
        </script>
    <?php }
}

二、根据目标位置选择调用方式

1. 保持在<body>标签后调用(原需求位置)

首先确认你的主题支持wp_body_open钩子:主题的header.php文件中,<body>标签后必须有<?php wp_body_open(); ?>代码。如果主题已支持,直接使用你原来的调用代码即可(前提是函数已修复语法):

add_action( 'wp_body_open', 'adsense_script' );

2. 在特定标签后调用(比如文章标题<h1>后)

方法1:利用主题自定义钩子

如果你的主题提供了标题后的钩子(比如after_post_title),直接绑定:

add_action( 'after_post_title', 'adsense_script' );

方法2:通过内容过滤器插入

如果标题后紧跟文章内容,可使用the_content过滤器在内容开头插入脚本:

function adsense_after_title($content) {
    $path = $_SERVER['REQUEST_URI'];
    $find = 'sdm';
    // 仅在单篇文章页生效,可根据需求调整条件
    if (strpos($path, $find) !== false && is_single()) {
        $ad_script = '<script>
        // 这里粘贴完整的AdSense脚本内容
        </script>';
        return $ad_script . $content;
    }
    return $content;
}
add_filter('the_content', 'adsense_after_title');

方法3:直接修改模板文件

在子主题对应的模板文件(比如single.php)中,找到标题输出代码,在其后直接调用函数:

<?php the_title('<h1 class="entry-title">', '</h1>'); ?>
<?php adsense_script(); ?>

三、额外排查要点

  • 确认AdSense脚本本身无错误:检查发布者ID、广告单元ID是否正确,脚本格式是否完整。
  • 关闭广告屏蔽工具:浏览器插件、网站安全插件可能拦截广告加载。
  • 查看控制台错误:打开浏览器开发者工具,检查控制台是否有脚本加载失败的报错信息。
  • 验证服务器环境:确保主机没有拦截脚本输出,或限制了第三方脚本加载。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 21:41:09