如何记住当前用户的具体操作/事件?

时间:2018-06-03 作者:OT AMD

多亏了polylang,我创建了多语言网站。现在我不想使用polylang的切换器,因为它会导致布局问题,所以我找到了一个更好的解决方案,就是在顶部添加链接。例如,如果用户单击:<a href="mysite.com/fr" ...> 整个网站的翻译没有任何问题,但它不记得用户是否转到另一个页面,例如类别页面,而是返回默认语言,即英语,除非在浏览器中手动向链接添加“fr”。

我的想法是,如果用户单击链接,但不知道如何允许普通用户这样做,或者可能有更好的不同方法,那么就编辑基本URL

任何帮助都是值得赞赏的。谢谢

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

根据documentation 这里有3个Polylang函数可以帮助您:

第一个“记住”用户语言的人

pll_current_language

// Returns the current language

pll_current_language( $value );

// ‘$value’ => (optional) either ‘name’ or ‘locale’ or ‘slug’, defaults to ‘slug’

returns either the full name, or the WordPress locale (just as the WordPress core function ‘get_locale’ or the slug ( 2-letters code) of the current language.
现在这一个来检查他单击的页面是否存在用户语言

pll_get_post_translations

// Returns an associative array of translations with language code as key and translation post_id as value
pll_get_post_translations( $post_id );
// ‘$post_id’ => (required) id of the post for which you want to get the translations
如果找到了用户语言,请立即获取翻译后的帖子

pll_get_post

pll_get_post( $post_id, $slug );

// ‘$post_id’ => (required) id of the post you want the translation
// ‘$slug’ => (optional) 2-letters code of the language, defaults to current language
最后一个$slug 对你来说不是可选的

结束

相关推荐

Disallow second login session

我现在正在努力寻找一个解决方案,持续了两个月,但不幸的是,我没有找到任何结果。我有一个基于订阅的网站,可以播放音乐。客户基本上购买的是一个“面板”,他们在那里听音乐without the need to refresh 页面。我需要的是,如果他们的帐户已经在使用中,就不允许他们登录。我发现许多插件会强制用户注销,但只有在刷新页面时才会发生这种情况。例如,如果:A登录,它也可以工作。B使用相同的帐户登录,此时A将自动注销(我猜是使用Ajax)。过去没有人需要这个,这有点奇怪。有人能帮忙吗?提前谢谢。