WooCommerce 「マイアカウント」ページをログイン/ログアウトメニューに追加する方法

  • Naver ブログを共有する
  • Naver バンドに共有する
  • Facebook 共有する
  • Twitter 共有する
  • 카카오스토리공유하기

ワードプレスウコマースショッピングモールで、次のコードを使用しているテーマの関数ファイルに追加すると、ゲストユーザーには「ログイン」、ログインユーザーには「ログアウト」メニュー項目がメニューに追加されます。 これにより、非ログインユーザーが「ログイン」メニューをクリックすると、「マイアカウント」ページのログインフォームが表示され、ユーザー名とパスワードを入力してログインすると、「マイアカウント」ページが表示されます。

// 우커머스 쇼핑몰에서 로그인/로그아웃 메뉴 항목을 메뉴에 추가하기
// Add Login, Logout to main navigation menu in WordPress WooCommerce store
function my_account_loginout_link( $items, $args ) {
    if (is_user_logged_in() && $args->theme_location == 'main_navigation') { // 테마에서 등록한 메뉴 이름으로 변경
        $items .= '<li><a href="'. wp_logout_url( get_permalink( wc_get_page_id( 'myaccount' ) ) ) .'">로그아웃</a></li>';
    }
    elseif (!is_user_logged_in() && $args->theme_location == 'main_navigation') { // 테마에서 등록한 메뉴 이름으로 적절히 변경
        $items .= '<li><a href="' . get_permalink( wc_get_page_id( 'myaccount' ) ) . '">로그인</a></li>';
    }
    return $items;
}

まず、チャイルドテーマ(子テーマ)を作成チャイルドテーマの関数ファイルに上記のコードを挿入してください。 親テーマの関数ファイルにコードを挿入すると、テーマが更新された場合の修正がすべて消えます。

上記のコードで main_navigationは、テーマのメニューの場所の名前に変更するようにします。 メニュー名を確認するには、テーマ デザイン>メニューの一番下に見ると、メニューの位置が表示されます。

ああ、海のテーマのメニューの位置
テーマのメニューの位置

クロムやFirefoxのなどのブラウザで要素の検査を行うようにします。 (クロムは、マウスの右ボタンをクリックし、表示されたコンテキストメニューから「検査」をクリックして、要素のチェックを行うことができます。)

ワードプレスのテーマのメニューの場所の名前を確認する方法

上の図は、 ああ、海のテーマのMain Navigationメニューの名前を示します。 ああ、海のMain Navigationのmenu-location名は main_navigationです。 メニュー位置の名前は、テーマごとに異なり、同じテーマでもメニューの位置に基づいて名前が異なります。

ログアウト後に移動ページを変更したい場合 wp_logout_url(get_permalink(wc_get_page_id(「myaccount '))) 部分を変更してください。 wp_logout_url 関数の詳細については、 ワードプレスの開発者ドキュメントを参照してください。

上記のコードを関数ファイルに追加すると、メニューにログイン/ログアウトの項目が追加されます。 ログインをクリックすると、「マイアカウント」(My Account)のログインフォームが表示されます。

呉コマース設定で会員登録フォームも「マイアカウント」ページに表示されるように設定した場合は、上記の図のように会員登録フォームも表示されます。

マイアカウントページで、アカウントを作成できるようにするには、 ウコマース>設定>アカウントと個人情報でアカウントの作成セクションの顧客が「マイアカウント」ページで、アカウントを作成することができます」オプションを選択します。

ウコマースマイアカウントページに登録フォームを表示

この記事で紹介されたコードは、 "ワードプレスのメニューにログイン/ログアウトメニュー項目を追加する方法"という文で紹介されたコードと似ています。

注:



コメントを残す