4

有谁知道如何修改 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 以向 Wordpress 添加自定义 URL 参数,以便该参数不会被永久链接和“规范”链接剥离?

或者也许还有另一种解决方案......谢谢您的任何想法!

4

1 回答 1

8

您应该能够rel_canonical用您自己的函数替换 Wordpress 的操作函数,在该函数中(当您的条件满足时)您创建一个附加查询字符串变量的规范链接。以下应该可以工作,尽管您可能需要更改条件以满足您的需求。

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();
    }
}
于 2010-03-12T09:49:31.467 回答