WordPress 自动生成 "canonical"链接 - 如何添加自定义 URL 参数?

标签 wordpress .htaccess parameters 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,以便该参数不会被永久链接和“规范”链接删除?

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

最佳答案

您应该能够用您自己的函数替换 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();
    }
}

关于WordPress 自动生成 "canonical"链接 - 如何添加自定义 URL 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2430623/

相关文章:

javascript - 限制 AngularJS 中的分页

javascript - Wordpress 网站移动菜单要点不链接到网站

.htaccess - 如何使用 .htaccess 删除 URL 的一部分

c++ - 如何给一个类作为 printf 的有效参数,它以字符串形式返回?

c# - 在 url 和参数中传递逗号 (,) 时,Twitter 流式传输 api 返回未授权

CSS 帮助 - 尝试使菜单项在移动设备上可点击,但在 PC 上不可点击

单击 WordPress 管理页面表单中的提交按钮时,JavaScript 代码不运行

apache - 不使用 HTTP 重定向内容

regex - 如何从单个页面中删除 .php 或 .html 扩展名?

javascript - 如何制作函数参数