duangan2307 2015-08-02 15:28
浏览 59
已采纳

WordPress重定向无法正常工作

I need to redirect my page to my api service while paypal-payment-redirect page is called.The bellow code redirects as I expected.But it's not passing the Authorization token in header. Is there any way to resolve that?

<?php

function my_page_template_redirect()
{
    global $wppimsettings;
    if (isset($_COOKIE['login_token'])) {
        if (is_page('paypal-payment-redirect')) {
            $token = json_decode(str_replace('\\', '', $_COOKIE['login_token']));
            $data = array(
                'headers' => array(
                    'Authorization' => $token->token_type . ' ' . $token->access_token
                )
            );
            header("Authorization: {$token->token_type} {$token->access_token}");
            header("Location: {$wppimsettings['api_url']}purchaseHelper/paypalPayment");
            exit();
        }
    }

}

add_action('template_redirect', 'my_page_template_redirect');
  • 写回答

1条回答 默认 最新

  • dongweng9474 2015-08-04 23:26
    关注

    From the PHP HEADER doc

    The optional replace parameter indicates whether the header should replace a previous similar header, or add a second header of the same type. By default it will replace, but if you pass in FALSE as the second argument you can force multiple headers of the same type. For example:

    <?php
    header('WWW-Authenticate: Negotiate');
    header('WWW-Authenticate: NTLM', false);
    ?>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?