01 02
03Labels: Friday Favorites, Glee, Other Musings, So You Think You Can Dance
35 36 37 38 Save your template, and you have successfully implemented redirection on your Blogger blog. However, you still need to setup redirection on your WordPress site so that users are redirected to the proper posts. You need to copy and paste the following code in your WordPress theme’s functions.php file or in a site-specific plugin. If this is your first time adding code to your WordPress site, then you may want to check our beginner’s guide to pasting snippets from the web into WordPress. 01 function blogger_query_vars_filter( $vars ) { 02 $vars[] = "blogger"; 03 return $vars; 04 } 05 06 add_filter('query_vars', 'blogger_query_vars_filter'); 07 08 function blogger_template_redirect() { 09 global $wp_query; 10 $blogger = $wp_query->query_vars['blogger']; 11 if ( isset ( $blogger ) ) { 12 wp_redirect( get_wordpress_url ( $blogger ) , 301 ); 13 exit; 14 } 15 } 16 17 add_action( 'template_redirect', 'blogger_template_redirect' ); 18 19 function get_wordpress_url($blogger) { 20 if ( preg_match('@^(?:https?://)?([^/]+)(.*)@i', $blogger, $url_parts) ) { 21 $query = new WP_Query ( 22 array ( "meta_key" => "blogger_permalink", "meta_value" => $url_parts[2] ) ); 23 if ($query->have_posts()) { 24 $query->the_post(); 25 $url = get_permalink(); 26 } 27 wp_reset_postdata(); 28 } 29 return $url ? $url : home_url(); 30 }