我收到未定义的数组错误。这里的目标是覆盖第二个链接以简单地返回一页。一个例子是
自定义模板 > 类别 > 模板
我添加了以下代码来劫持面包屑结构。 Yoast 不断将 /blog 添加到 url 中,这是自定义帖子类型。我的黑客正在工作,但是我在服务器上收到错误:
PHP 警告:未定义的数组键“HTTP_REFERER”
add_filter('wpseo_breadcrumb_links', 'wpse_332125_breadcrumbs');
function wpse_332125_breadcrumbs($links) {
if(is_singular('custom-template')) {
$links[2] = array(
'text' => 'Category',
'url' => $_SERVER['HTTP_REFERER'],
'allow_html' => 2
);
}
return $links;
}
Referer
HTTP 请求标头由浏览器提供。伪造起来很简单,但它也可以指向链接到您网站的第三方网站。出于安全/隐私原因,某些工具(浏览器扩展、防火墙...)将其完全剥离。而且您不能总是信任中间代理来传递标头。
说的是...如果你想使用它,你需要覆盖几种情况:
从技术角度来看,这些问题并不难处理(您有 isset()、parse_url()、str_starts_with()...),但其中一些需要就功能做出一些决定和安全。
替代或补充这一点的可能替代方案: