我的一些wordpress帖子有一个名为QR短代码的自定义字段。我希望能够在有人访问domain.com/QRCODEVALUE时重定向任何URL请求,并将它们定向到具有相应QR码的帖子。有没有办法做到这一点?我甚至不知道从哪里开始!
答案 0 :(得分:2)
我还没有测试过这个,但逻辑应该可以帮助你到达某个地方。获取URL请求路径,删除尾随斜杠(如果存在),并查询自定义字段包含QRCODEVALUE的帖子:
<?php
function my_redirect() {
$request = parse_url($_SERVER['REQUEST_URI']);
$path = $request["path"];
$path = explode('/', $path);
$length = count($path);
$result = $path[$length-1];
$id;
$query = new WP_Query( array('meta_key' => 'QRCODEVALUE', 'meta_value' => $result) );
if($query->have_posts()): while($query->have_posts()): $query->the_post();
$id = $post->ID;
endwhile; endif;
wp_redirect( get_permalink( $id ) );
exit;
}
add_action('template_redirect', 'my_redirect');
答案 1 :(得分:0)
domain.com/QRCODEVALUE是一个页面吗?如果是这样,你可以这样做:
function my_redirect() {
if ( is_page( 'QRCODEVALUE' ) ) {
// Get the ID of the post with the corresponding QR code here
// Save the post ID to $post_id
wp_redirect( get_permalink( $post_id ) );
exit;
}
}
add_action( 'template_redirect', 'my_redirect' );