WordPress自动生成的“规范”链接 - 如何添加自定义URL参数?
-
19-09-2019 - |
题
有人知道如何修改WordPress规范链接以添加自定义URL参数吗?
我有一个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();
}
}
不隶属于 StackOverflow