例如我有这样的结构:
example.com/product/12345
产品 - 定制后期型,
12345 - post slug。
我需要为每个帖子添加额外的“/ go”链接,所以
example.com/product/12345/go,将重定向到将在12345帖子的meta中的网址。
我该怎么做? (如果可能的话,没有额外的插件)
答案 0 :(得分: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);}
?>