在我的functions.php中,登录后我有一个重定向。目前这个:
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler,
SslError error) {
Log.i("","ssl certificate is: " + error.getCertificate());
Log.i("","ssl certificate is: " + error.getCertificate().getIssuedBy().toString());
Log.i("","ssl certificate is: " + error.getCertificate().getIssuedTo().toString());
Log.i("","ssl certificate is: " + error.getCertificate().getValidNotAfterDate().toString());
c = new ContextWrapper(context);
Utils.appendLog("received SSL error on webview: "+ + error.getPrimaryError() + " on certificate: " + error.getCertificate(), false);
try{
String keyStoreType = KeyStore.getDefaultType();
KeyStore keyStore = KeyStore.getInstance(keyStoreType);
InputStream readStream = new FileInputStream(c.getFilesDir() + "/VidyoRemote/keystore.jks");
String pass = "Ready4Launch!";
try{
keyStore.load(readStream, pass.toCharArray());
}catch (Exception e){
Log.e("","error trying to load check:" + e.getMessage());
keyStore.load(null, pass.toCharArray());
}
String tmfAlgorithm = TrustManagerFactory.getDefaultAlgorithm();
TrustManagerFactory tmf = TrustManagerFactory.getInstance(tmfAlgorithm);
tmf.init(keyStore);
for (TrustManager trustManager : tmf.getTrustManagers()){
X509TrustManager x509TrustManager = (X509TrustManager) trustManager;
for (X509Certificate certificate : x509TrustManager.getAcceptedIssuers()){
Log.i("","certificate is: " + certificate.toString());
Log.i("","certificate is: " + certificate.getSerialNumber());
Log.i("","certificate is: " + certificate.getSignature());
Log.i("","certificate is: " + certificate.getVersion());
Log.i("","certificate is: " + certificate.getPublicKey());
}
}
}catch (Exception e){
Log.e("","Error is: " + e.getMessage());
}
// handler.proceed();
}
这可以按预期工作,但如果浏览器语言被检测为意大利语,我需要将其与重定向结合到不同的页面,因此if($ lang ==“it_IT”)重定向到home_url('/ area_personale'),其他人到'/ dashboard'
我对此很新,所以我的问题是如何将这种语言填充到我现有的登录重定向中。或者可能有一个“更容易”的方式来解决这个问题?任何最感谢的指导!
答案 0 :(得分:0)
这应该可以解决问题。
add_action( 'template_redirect', 'wpdm_login_redirect' );
function wpdm_login_redirect(){
$language = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
if( is_user_logged_in() && get_the_ID() == get_option('__wpdm_login_url') && $language == "it_IT" ):
wp_redirect( home_url('/area_personale') );
exit();
else:
wp_redirect( home_url('/dashboard') );
endif;
}