有人知道如何修改 WordPress 规范链接以添加自定义 URL 参数吗?
我有一个 Wordpress 站点,其中一个页面查询单独的(非 Wordpress)数据库。我传递了 URL 参数“pubID”来显示个别书籍,并且工作正常。
示例:http://www.uglyducklingpresse.org/catalog/browse/item/?pubID=63
但是各个图书页面在 Google 中无法正确显示 - ?pubID 参数被删除。
我认为这可能是因为所有项目页面在源代码中都具有相同的自动生成的“规范”URL 链接标记 - 删除了“pubID”参数。
示例:链接 rel='canonical' href=' http://www.uglyducklingpresse.org/catalog/browse/item/ '
是否有办法编辑 .htaccess 以将自定义 URL 参数添加到 Wordpress,以便该参数不会被永久链接和“规范”链接删除?
或者也许还有另一种解决方案......谢谢您的任何想法!
最佳答案
您应该能够用您自己的函数替换 WordPress 的 rel_canonical
操作函数,在该函数中(当您的条件满足时)您可以创建一个附加查询字符串变量的规范链接。尽管您可能需要更改条件以满足您的需求,但以下内容应该可行。
remove_action('wp_head', 'rel_canonical');
add_action('wp_head', 'my_rel_canonical');
function my_rel_canonical() {
if (is_page('item') && isset($_GET['pubID'])) {
global $post;
$link = get_permalink($post->ID) . '?pubID=' . absint($_GET['pubID']);
echo "<link rel='canonical' href='$link' />\n";
} else {
rel_canonical();
}
}
关于WordPress 自动生成 "canonical"链接 - 如何添加自定义 URL 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2430623/