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

WordPress如何编写代码阻止特定用户角色加载AdSense头部代码

WordPress针对订阅者角色禁用AdSense广告代码实现

核心逻辑调整

原参考代码的逻辑是为订阅者、未登录用户展示广告,你需要的逻辑恰好相反,只需将判断条件取反,实现仅非订阅者用户加载AdSense头部代码即可。

调整后可用代码

基础版(可直接插入header.php模板)

<?php
if ( !current_user_can( 'subscriber' ) ) {
    echo '<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-XXXXXXXXXXXXX" crossorigin="anonymous"></script>';
}
?>

规范版(推荐添加到functions.php文件)

符合WordPress开发规范,无需修改主题模板文件:

add_action( 'wp_head', 'custom_adsense_hide_for_subscriber', 10 );
function custom_adsense_hide_for_subscriber() {
    // 非订阅者角色才输出广告代码
    if ( !current_user_can( 'subscriber' ) ) {
        echo '<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-XXXXXXXXXXXXX" crossorigin="anonymous"></script>';
    }
}

使用说明

  • 代码中的ca-pub-XXXXXXXXXXXXX请替换为你自己的AdSense客户端ID
  • 若需要同时对多个角色禁用广告,可在判断条件中追加对应角色的判断,例如同时屏蔽订阅者和投稿者,条件修改为if ( !current_user_can( 'subscriber' ) && !current_user_can( 'contributor' ) )
  • 添加代码后请清空站点缓存,分别用订阅者账号、其他角色账号、未登录状态访问验证效果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 01:24:07