Wordpress自动生成“规范”链接 - 如何添加自定义URL参数?

时间:2010-03-12 05:09:56

标签: wordpress .htaccess parameters permalinks canonicalization

有谁知道如何修改Wordpress规范链接以添加自定义网址参数?

我有一个Wordpress网站,其中一个页面可以查询单独的(非Wordpress)数据库。我传递了URL参数“pubID”来显示各个书籍,它运行正常。

示例:http://www.uglyducklingpresse.org/catalog/browse/item/?pubID=63

但各个图书页面未在Google中正确显示 - 该pubID参数已被删除。

我想这可能是因为所有项目页面在源代码中都有相同的自动生成的“规范”URL链接标记 - 一个删除了“pubID”参数。

示例:link rel ='canonical'href ='http://www.uglyducklingpresse.org/catalog/browse/item/'

是否有办法可以编辑.htaccess为Wordpress添加自定义网址参数,以便永久链接和“规范”链接不会删除参数?

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

1 个答案:

答案 0 :(得分:4)

您应该能够将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();
    }
}
相关问题