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

如何在Asgaros论坛发帖前添加GDPR隐私同意复选框

为Asgaros论坛添加发帖/发主题前必填GDPR隐私同意复选框

以下是适配Asgaros论坛的PHP代码,可实现发帖和创建主题前必须勾选隐私政策同意的功能,符合GDPR合规要求:

// 在发帖表单和主题创建表单中添加隐私同意复选框
add_action('asgarosforum_before_new_post_form', 'add_asgaros_privacy_checkbox');
add_action('asgarosforum_before_new_topic_form', 'add_asgaros_privacy_checkbox');

function add_asgaros_privacy_checkbox() {
    ?>
    <div class="asgarosforum-privacy-checkbox">
        <label for="asgaros_privacy_agree">
            <input type="checkbox" id="asgaros_privacy_agree" name="asgaros_privacy_agree" required>
            我已阅读并同意<a href="/privacy-policy">隐私政策</a>
        </label>
    </div>
    <?php
}

// 验证发帖提交时的隐私同意状态
add_filter('asgarosforum_validate_new_post', 'validate_asgaros_privacy_agreement', 10, 2);
// 验证主题创建提交时的隐私同意状态
add_filter('asgarosforum_validate_new_topic', 'validate_asgaros_privacy_agreement', 10, 2);

function validate_asgaros_privacy_agreement($errors, $data) {
    // 检查复选框是否被勾选
    if (!isset($_POST['asgaros_privacy_agree']) || $_POST['asgaros_privacy_agree'] !== 'on') {
        $errors[] = __('请阅读并同意我们的隐私政策后再提交内容。', 'asgarosforum');
    }
    return $errors;
}

代码说明:

  • 插入复选框:借助Asgaros论坛原生钩子asgarosforum_before_new_post_form和asgarosforum_before_new_topic_form,将隐私同意复选框嵌入发帖、主题创建表单的前置位置。
  • 双重验证:前端通过required属性强制用户勾选;后端通过表单提交验证钩子拦截未勾选的请求,避免绕过前端限制的违规提交。
  • 错误提示:未勾选时会在表单顶部弹出自定义提示,引导用户完成合规操作。

使用提示:

  • 将代码添加至WordPress主题的functions.php文件,或通过自定义代码插件(如Code Snippets)导入。
  • 替换代码中的/privacy-policy为你网站实际的隐私政策页面路径。
  • 如需调整样式,可通过.asgarosforum-privacy-checkbox类编写自定义CSS规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 23:33:23