2017-12-02 17 views
0

"my-account"ページにカスタムWordPressページを表示したい。 (ユーザーがログインしている場合のみ表示します)。Woocommerceのマイアカウントページを別のページにリダイレクト

ユーザーがログインしていない場合は、標準のログイン/登録が表示されます。それで大丈夫です。

今すぐログインした後のマイアカウントページには、「あなたのアカウントダッシュボードから、最近の注文を表示し、配送先と請求先を管理し、パスワードとアカウントの詳細を編集できます」という標準が表示されます。メッセージ。

私はそれを望んでいません。ユーザーがログインして「マイアカウント」にアクセスすると、ユーザーは完全に異なるWordPressページにアクセスしてもらいたいです。

おかげで、 ジョー

+0

現在のテンプレートを編集することができます... –

+0

申し訳ありません – Josione

+0

ショートコード[woocommerce_my_account]を削除すると、空白のページになります。フックを使用して関数ファイルにリダイレクトを追加して、ページを表示する前にユーザーがログインしているかどうかを確認できます。 – iSZ

答えて

0

は、あなたはそのための新しいショートを作成することができます。その後、

<?php 
add_shortcode('woocommerce_my_account_custom','woocommerce_my_account_custom'); 
function woocommerce_my_account_custom(){ 
if (!is_user_logged_in()) return do_shortcode('[woocommerce_my_account]'); 
else { 
$custompage=get_post(ANOTHER_PAGE_ID);//different page ID which contains custom data for logged in users 
echo apply_filters('the_content',$custompage->post_content); 
} 
} 

そして[woocommerce_my_account_custom]と[woocommerce_my_account]ショートコードを交換してください。

+0

これは他の機能に影響しませんか? ユーザーがログインしていて、my-account/edit-account /(別のページからリンクされている)で自分のアカウントを編集したい場合、 は動作しますか?ユーザがログインしているので[woocommerce_my_account]が無効になっているので、あなたが提案した方法でリダイレクトします – Josione

+0

編集ページに影響を与えると、自分の機能を改善できます。 –

+0

例えば、あなたは 'またはstrpos($ _ SERVER ["REQUEST_URI"]、 "edit")!== false'の条件を最初のif()に追加することができます –

関連する問題