2017-06-23 5 views
0

ich diesen folgenden Code verwenden einen Post umleiten, um eine benutzerdefinierte URL in Wordpress zu machen:Wie eine Umleitung Link öffnet in neuem Tab machen

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; 
    } 
    } 
} 

Aber meine Seite bricht, wenn ich target = "_ blank hinzufügen " bis zur 5. Zeile. Ich füge es so hinzu:

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

Aber es funktioniert jetzt.

Ich möchte nur die externen Links in neuen Tab öffnen.

Was mache ich falsch?

+0

"Aber es funktioniert jetzt.", Wolltest du sagen "Aber es funktioniert nicht"? Wenn ja - bitte geben Sie an, wie es nicht funktioniert –

+0

Ich brauche meine Links in einem neuen Tab zu öffnen. Ich habe das Ziel leer hinzugefügt, wie ich oben erwähnt habe. Aber es zeigt Syntaxfehler an, wenn ich meine Site besuche. –

Antwort

1

können Sie Javascript window.open anstelle von verwenden. Bitte versuchen Sie folgenden Code.

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

Einige Präzisierungen ... Mit Bezug auf https://developer.wordpress.org/reference/functions/get_post_meta/, gibt es keine "Ziel" Parameter. Deshalb erhalten Sie einen Fehler. Wordpress Codex kann Ihnen eine Menge Antworten geben, besonders wenn Sie sich entscheiden, einige Parameter zu erfinden. Es gibt keinen Zielparameter für wp_redirect. Deshalb können Sie wp_redirect nicht verwenden. In diesem Fall ist Javascript dein Freund, wie Bhunesh Satpada es geschrieben hat.

Verwandte Themen