2016-01-22 60 views
1

我从短代码中发现了这一点,并且我们在使用此函数的加载时间方面存在一些问题。我想知道是否有一种方法来进一步优化,或者可能使用PHP重定向而不是JavaScript?优化重定向代码

function gdp_mss_after_login() { 
$user = wp_get_current_user(); 

if($user && is_object($user) && is_a($user, 'WP_User')) { 

    $user_level = get_user_meta($user->ID, 'gdp_level', true); 

    ob_start(); 

    if (!empty($user_level)) { 
     $post_id = get_option('gdp_mss_course_level_' . $user_level); 
     $url = esc_url(get_permalink($post_id)); 
     ?> 
     <script type="text/javascript"> 
      window.location = '<?php echo $url; ?>'; 
     </script> 
     <?php 
    } 

} 
return ob_get_clean(); 
} 
add_shortcode('gdp_mss_login_redirect', 'gdp_mss_after_login'); 
+0

为什么不wp_redirect()? –

回答

0

使用wp_redirect()

function gdp_mss_after_login() { 
    $user = wp_get_current_user(); 
    if($user && is_object($user) && is_a($user, 'WP_User')) { 
    $user_level = get_user_meta($user->ID, 'gdp_level', true); 
    if (!empty($user_level)) { 
     $post_id = get_option('gdp_mss_course_level_' . $user_level); 
     $url = esc_url(get_permalink($post_id)); 
     wp_redirect($url); 
    }else{ 
     return false; 
    } 
    } 
} 
add_shortcode('gdp_mss_login_redirect', 'gdp_mss_after_login'); 
+0

谢谢拉克什。似乎没有工作。出于某种原因的重定向不会发生。我错过了什么? – Francis