2017-03-07 71 views
0

例如,我有這樣的結構:WordPress的:如何使每個職位的額外鏈接?

example.com/product/12345 

產物 - 自定義後型,
12345 - 交蛞蝓。
我需要爲每個帖子製作額外的「/ go」鏈接,因此 example.com/product/12345/go,將重定向到將在12345帖子的met​​a中的url。
我該如何做到這一點? (如果可能,不需要額外的插件)

+1

http://stackoverflow.com/questions/38058749/multiple-urls-for-single-custom-post -type-in​​-wordpress – ashanrupasinghe

+0

可能的重複[多個URL爲單個自定義帖子類型在WordPress](http://stackoverflow.com/questions/38058749/multiple-urls-for-single-custom-post-type-in​​- wordpress) – yivi

+0

你已經有了一個meta box字段,其中包含一個url作爲你想要鏈接example.com/product/12345/go重定向到的數據,這是否正確? – Paul

回答

0

下面是解決方案。
的functions.php:

add_action('init', 'go_redirect'); 
function go_redirect() { 
    add_rewrite_rule('product\/([\d]*)\/go$', 'index.php?pagename=$matches[1]&redirect=1', 'top'); 
    add_filter('query_vars', function($vars){ 
     $vars[] = 'redirect'; 
     return $vars; 
    }); 
} 

在single.php中的開頭:

<?php 
$go = get_query_var('redirect'); 
$post_id = $post->ID; 
if ($go) {header('Location: ' . get_post_meta($post_id, 'redirect_url', true), true, 301);} 
?> 
相關問題