WordPress WooCommerce モールで次のコードを使用しているテーマの関数ファイルに追加すると、ゲストユーザーには「ログイン」、ログインユーザーには「ログアウト」メニュー項目がメニューに追加されます。 これにより、ログインしていないユーザーが「ログイン」メニューをクリックすると「マイアカウント」ページのログインフォームが表示され、ユーザー名とパスワードを入力してログインすると「マイアカウント」ページが表示されます。
// WooCommerce 쇼핑몰에서 로그인/로그아웃 메뉴 항목을 메뉴에 추가하기
// 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は、テーマのメニューの場所の名前に変更するようにします。 メニュー名を確認するには、テーマ デザイン>メニューの一番下に見ると、メニューの位置が表示されます。
ChromeやFirefoxなどのブラウザで要素チェックを行うようにします。 (クロムでは右クリックし、表示されたコンテキストメニューの[検査]をクリックして要素検査を実行できます。)
上の図は、 AvadaのMain Navigationメニューの名前を示します。 AvadaのMain Navigationのmenu-location名は main_navigationです。 メニュー位置の名前は、テーマごとに異なり、同じテーマでもメニューの位置に基づいて名前が異なります。
ログアウト後に移動ページを変更したい場合 wp_logout_url( get_permalink( wc_get_page_id( 'myaccount' ) ) ) ) 部分を変更してください。 wp_logout_url 関数の詳細については、 WordPress 開発者向けドキュメントを参照してください。
上記のコードを関数ファイルに追加すると、メニューにログイン/ログアウトエントリが追加されます。 [ログイン]をクリックすると、[マイアカウント](My Account)のログインフォームが表示されます。
WooCommerce 設定で会員登録フォームも「マイアカウント」ページに表示されるように設定した場合、上の図のように会員登録フォームも一緒に表示されます。
マイアカウントページで、アカウントを作成できるようにするには、 WooCommerce >設定>アカウントと個人情報で、アカウント作成セクションの顧客が「マイアカウント」ページでアカウントを作成できます」オプションを選択します。
この記事で紹介されたコードはWordPress メニューへのログイン/ログアウトメニュー項目を追加する方法「という記事で紹介されているコードに似ています。
コメントを残す