/* Add GPC Banner to WP Header */ function display_gpc_signal_banner() { echo '
Global Privacy Signal Detected
'; } add_action('wp_head', 'display_gpc_signal_banner'); // Detect GPC Signal with Javascript function detect_gpc_signal_js() { ?> } add_action('wp_footer', 'detect_gpc_signal_js'); // Add a unique class to the body tag when GPC signal is detected function detect_gpc_signal_body_class( $classes ) { $headers = getallheaders(); if($headers['sec-gpc'] == 1) { $classes[] = 'gpc-signal-detected-no-js'; } else { $classes[] = 'no-gpc-signal-detected-no-js'; } return $classes; } add_filter( 'body_class', 'detect_gpc_signal_body_class' );
更新
当将 HTTP_ 添加到值中时,原始函数将起作用。
if (isset($_GET['HTTP_SEC_GPC'])) { echo 'GPC signal detected in GET data'; } elseif (isset($_POST['HTTP_SEC_GPC'])) { echo 'GPC signal detected in POST data'; } elseif (isset($_COOKIE['HTTP_SEC_GPC'])) { echo 'GPC signal detected in COOKIE data'; } elseif (isset($_SERVER['HTTP_SEC_GPC'])) { echo 'GPC signal detected in SERVER data'; } else { echo 'No GPC signal detected'; }
感谢您建议 getallheaders()。在你的帮助下,我找到了两种方法,使用和不使用 Javascript。
更新
当将 HTTP_ 添加到值中时,原始函数将起作用。