如何在新选项卡中打开重定向链接

时间:2017-06-23 09:28:02

标签: php wordpress

我正在使用以下代码将帖子重定向到WordPress中的自定义网址:

add_action ('template_redirect', 'custom_redirect');
function custom_redirect() {
global $post;
  if( is_single() ){
    $external_link =  get_post_meta( $post->ID, 'external_link', true );
    if($external_link) {    
       wp_redirect( $external_link );
       exit;
    }
  }
}

但是当我将 target =" _blank" 添加到第5行时,我的网站会中断。我这样添加它:

$external_link =  get_post_meta( $post->ID, 'external_link', true, target="_blank", );

但它现在正在运作。

我只想在新标签页中打开外部链接。

我做错了什么?

2 个答案:

答案 0 :(得分:1)

您可以使用javascript window.open代替wp_redirect。 请尝试以下代码。

add_action ('template_redirect', 'custom_redirect');
function custom_redirect() {
  global $post;
   if( is_single() ){
      $external_link =  get_post_meta( $post->ID, 'external_link', true );
      if($external_link) {  
         echo "<script> window.open(".$external_link.", '_blank') </script>";
         exit;
      }
   }
}

答案 1 :(得分:1)

一些精确性......参考https://developer.wordpress.org/reference/functions/get_post_meta/,没有&#34;目标&#34;参数。这就是你收到错误的原因。 Wordpress codex可以为您提供很多答案,尤其是当您决定创建一些参数时。 wp_redirect没有目标参数。这就是为什么你不能使用wp_redirect的原因。 在这种情况下,javascript是你的朋友,正如Bhunesh Satpada所写的那样。