将当前用户ID附加到所有内部固定链接

时间:2017-12-21 作者:eLeXeM

我在玩弄myCred 并希望奖励登录用户共享内容带来的访客。myCred提供按用户id的关联链接,因此我认为,我“只”需要将当前登录用户的用户id附加到permalink wordpress呈现的任何内容(无论是帖子、页面、列表、评论、buddypress操作等,无论我的站点在哪里发布permalink),就像这样

?mref=当前用户ID

在过去的几个小时里,我筛选了许多类似的问题;正如这里+尝试将我的发现适应我的场景;唉,我对任何真正的编程都不熟练,因此迄今为止没有成功。

我知道如何检查myCred是否处于活动状态[if( class_exists( \'myCRED_Core\' ) )], 如何将执行限制为登录用户,如何获取当前用户的ID[$current_user_id = get_current_user_id();] 我可能会做一些类似的事情

$affiliate_url = add_query_arg(\'mref\', $current_user_id, get_permalink());
但我不知道如何使它适用于为我的网站呈现的所有链接。

有办法吗?感谢您提供的帮助。干杯-LX

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

您可以使用the_permalink 滤器

function wpse_289182_permalink($url) {
    if(is_user_logged_in())
    {
        return add_query_arg(\'mref\', get_current_user_id(), get_permalink());
    }
    return $url;
}
add_filter(\'the_permalink\', \'wpse_289182_permalink\');

结束

相关推荐

Let me choose permalinks

我需要选择一个叫做“mysite”的永久链接。com/1418”,但wordpress不断在永久链接中添加“-2”。通常这意味着我已经有了一个名为“相同”的页面,它位于垃圾箱或其他地方。但这里的情况似乎并非如此。我尝试在设置中重置永久链接,这也没有帮助。我如何使用数字作为页面名称permalink,而不用wordpress在permalink中添加“-2”。