有人知道如何修改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();
    }
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top