使用自定义用户元数据更改作者帖子链接

时间:2012-08-27 作者:Ahmad M

我试图在作者帖子URL中使用自定义值,而不是user_nicename 默认为user_login 在相当长的permalink结构中。到目前为止,我成功地做到了这一点,但现在新的URL/author/custom_user_nicename 生成404错误,而旧错误/author/user_login 仍然有效。我在主题中使用的代码functions.php 文件:

add_filter(\'author_link\', \'update_author_link\',10,2);
function update_author_link($link,$author_id) {
    if (FALSE === strpos($link, \'?author=\')) { // only if pretty permalinks used
        $position = strrpos($link, \'/\');
        if (strlen($link) == $position + 1) { // check and remove trailing slash
            $link = untrailingslashit($link);
            $position = strrpos($link, \'/\');
        }
        $link = substr($link, 0, $position+1);
        $link = $link . get_the_author_meta(\'custom_author_nicename\', $author_id);
        return user_trailingslashit($link);
    }
    return $link;
}
我试图通过进入“设置”->“永久链接”并保存刷新重写规则,但效果也不错。我是否需要更新或修改任何其他内容才能使新的作者URL正常工作?谢谢

1 个回复
最合适的回答,由SO网友:Jono Warren 整理而成

您需要添加rewrite rule 以及您编写的过滤器。目前,当author_link 函数被调用,而不是WordPress的永久链接结构。

结束

相关推荐

the_author_meta not working

我正在尝试使用\\u author\\u meta检索一些用户可以在其个人资料中设置的链接。我设置了额外的配置文件字段,它们正在保存到数据库中。关于我的作者。php我有以下代码。<div class=\"user_social_icons\"><a href=\"<?php the_author_meta(\'facebook\'); ?>\" class=\"facebook\" title=\"Facebook\"></a></div>&#x