基于自定义字段重定向到Wordpress

时间:2014-07-03 13:47:40

标签: wordpress url

我的一些wordpress帖子有一个名为QR短代码的自定义字段。我希望能够在有人访问domain.com/QRCODEVALUE时重定向任何URL请求,并将它们定向到具有相应QR码的帖子。有没有办法做到这一点?我甚至不知道从哪里开始!

2 个答案:

答案 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');

参考:Get Everything After Domain Name into a string

答案 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' );