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

kik*_*iko 4 parameters wordpress .htaccess permalinks canonicalization

有谁知道如何修改 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,以便永久链接和“规范”链接不会删除该参数?

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

Ric*_*d M 7

您应该能够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();
    }
}
Run Code Online (Sandbox Code Playgroud)