重定向主页重置(Qlate)语言

时间:2013-10-27 作者:Ducsebas

我正在为我正在推出的产品(音频扬声器)开发一个网站,但我遇到了一个无法解决的问题(靠我自己;)。

我已将此代码添加到functions.php 禁用订阅服务器的仪表板访问。

add_action(\'admin_init\', \'no_mo_dashboard\');
function no_mo_dashboard() {
    if (!current_user_can(\'manage_options\') && $_SERVER[\'DOING_AJAX\'] != \'/wp-admin/admin-ajax.php\') {
        wp_redirect(home_url()); exit;
    }
}     
它就像一个魔咒,只是它重置了语言。i、 e:用户正在从页面登录www.example.com/en/new-user 上面的代码将他重定向到www.example.com 而不是www.example.com/en.

有没有办法实现这一点?

3 个回复
SO网友:Chris_O

您需要使用qtranslate用于获取url中的语言参数的相同方法。快速浏览来源qtrans_getLanguage()

$url = home_url( qtrans_get_language() );
wp_redirect( esc_url( $url ) );

SO网友:TomC

可以将$path参数与home\\u url一起使用,如下所示:

$url = home_url(\'/en\');
wp_redirect($url);
请参见http://codex.wordpress.org/Function_Reference/home_url 有关详细信息

但我刚刚意识到,你不可能在Wild you中硬编码“en”。也许你可以试试这个,它会给你当前的URL?

$url = home_url(add_query_arg(array()));
否则,请澄清流程。我没有使用qtranslate,也不确定它是使用cookie还是仅通过URL查询来查找位置?

SO网友:Ducsebas

感谢您的回复。将代码更改为:

add_action(\'admin_init\', \'no_mo_dashboard\');
function no_mo_dashboard() {
if (!current_user_can(\'manage_options\') && $_SERVER[\'DOING_AJAX\'] != \'/wp-admin/admin-ajax.php\') {
$url = home_url( qtrans_get_language() );
wp_redirect( esc_url( $url ) ); exit;
 }
}
我得到以下错误:

致命错误:在/home/timvauk2/domains/dutchaudioworks中调用未定义的函数qtrans\\u get\\u language()。com/public\\u html/wp-content/themes/flexform/functions。php在线1715

我忘了什么吗?

尽管如此,我还是发现重定向代码不知怎么搞砸了我的Woocommerce结账页面。我会找到另一种方法来禁用管理员访问…谢谢!

结束

相关推荐

Temp URL Redirect Loop

我试图通过hostgator使用临时URL(IP/~用户名/域)建立我的网站,但我遇到了一些问题。我已进入数据库,并用新的临时URL替换了旧域的所有实例。问题是我遇到了重定向循环。我在某个地方读到了试图重置永久链接的内容,但我没有访问管理面板的权限。我不知道还有什么可以修复重定向循环。我甚至换了我的。使用新的htaccess,仍然可以获得重定向循环。这是我当前的wp配置文件:define(\"WP_SITEURL\",\"http://IP/~username/example.com\"); de