2017-11-19 7 views
0

私はワードプレスのウェブサイトを持っており、私は自分のカスタムリンクに特定のリンクをリダイレクトしたい。私はプラグインを使いたくないので、functions.phpファイルにコードを書くことでこれを実現したいと思います。私が試したコードはWordpressはカスタムリンクへの特定のリンクをリダイレクト

function custom_redirect() { 
    if(is_page(7)) { 
     wp_redirect('http://example.com/my-account/orders/', 301); 
     exit(); 
    } 
} 
add_action ('template_redirect', 'custom_redirect'); 

の下に書かれている今、私はユーザーをリダイレクトしたいからページ、((is_page(7)))は、http://www.example.com/my-account/であると私はhttp://www.example.com/my-account/ordersにリダイレクトするURLがあります。私もsite_url('/my-account/')機能を試しましたが、それを達成することはできません。

+0

is_page(7)を使用してのポイントは何、これは私のアカウントと同じページですか? –

+0

はい。 'is_page(7)'は 'example.com/my-account'で、 'example.com/my-account/orders'にリダイレクトしたいと思います。 –

答えて

0

is_page('my-account')をテストすると、WooCommerceアカウントのエンドポイントを表示していてもtrueを返すという問題があります。回避策は、要求されたページスラッグのグローバル$ wp変数をチェックすることです。

function custom_redirect() { 
    global $wp; 

    if($wp->request == 'my-account') { 
     wp_redirect(site_url('my-account/orders/')); 
     exit; 
    } 
} 

add_action ('template_redirect', 'custom_redirect'); 
+0

それは働いた。ありがとう! –

0

私は理解していることを確認しないんだけど、私はこれを提案する:

function custom_redirect() { 
    if(is_page(7)) { 
     header('Location: http://example.com/my-account/orders/'); 
     exit(); 
    } 
} 
add_action ('template_redirect', 'custom_redirect'); 
+0

リダイレクトに組み込みのWordPress関数を使用します。 –

関連する問題